android mvp框架:dileber(https://github.com/dileber/dileber.git)

继续为大家介绍android mvp开源框架 dileber

官方交流qq群:171443726

我个人qq:297165331~~有什么问题也可以咨询~~

公司网站:北京清华源码空间


这节5主要介绍 主要功能 presenter 和 delegate的使用

写一个类继承于AppViewDelegate

public class SplashViewDelegate extends AppViewDelegate{    @Override    public int getRootLayoutId() {        return R.layout.activity_splash;    }    LinearLayout splash_layout;    ImageView imageView;    @Override    public void initWidget() {        super.initWidget();        splash_layout = bindView(R.id.splash_layout);        imageView = bindView(R.id.imageView);    }}

如图需要实现 getRootLayoutId方法,这个方法主要就是返回 splashactivity的layout

SplashViewDelegate
这个delegate就是专门为splashactivity产生的类

initwidget就是可以初始化一些组件

你可以把你要初始化的组件放到这里,还可以在这个类里写一些展示效果

展示效果可以写到view接口

再通过对接口的编程,达到需要的效果

implements ISplashView{


如果你想获得当前activity

则可以使用


getActivity();

获得当前layout

getRootView()



然后开始讲解 presenter了


首先我想讲两个特殊的注解

@CloseStatusBar@CloseTitlepublic class SplashActivity extends ActivityPresenter<SplashViewDelegate>  {
一个是

@CloseStatusBar
他的作用是可以使得当前activity全屏


一个是

@CloseTitle
他的作用是可以使得当前activity的title消失


上面的两个注解主要为了方便开发


presenter一般使用代码如下


public class SplashActivity extends ActivityPresenter<SplashViewDelegate>  {    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        ISplashScm imageSrc = new SplashScm();        imageSrc.showSplashResourceImage((ImageView) viewDelegate.get(R.id.imageView));        GoodsListScm goodsListScm = new GoodsListScm();        goodsListScm.getGoodsList(null, null, null, null, null, new OnGoodsListListener<GoodsModel>() {            @Override            public void before() {                viewDelegate.loading();            }            @Override            public void success(GoodsModel model) {                String ss = HJson.toJson(model);                SLog.i(">>>>>>",ss);                viewDelegate.loadDialogDismiss();            }            @Override            public void failed() {                viewDelegate.loadDialogDismiss();            }        });    }    @Override    protected Class<SplashViewDelegate> getDelegateClass() {        return SplashViewDelegate.class;    }    @Override    protected void bindEvenListener() {        super.bindEvenListener();    }    @Override    public void onClick(View view) {    }}


你可以在bindevenlistener中编写监听器代码,

如下


@Overrideprotected void bindEvenListener() {    super.bindEvenListener();        viewDelegate.setOnClickListener(this,R.id.mask_left);}
或者如下

viewDelegate.setOnClickListener(this,R.id.mask_left,R.id.confirm_button);
或者如下

viewDelegate.setOnClickListener(this,button1,view2,view3);

如果你想展示 toast

我写了一个自定义的toast帮助你使用

viewDelegate.toast("ddddd", Toast.LENGTH_SHORT);

还有一个不错的 加载框


viewDelegate.loading();


viewDelegate.loadDialogDismiss();

注意成对使用

还有一个确定取消框

viewDelegate.dialogOk("eeee", new DialogLinstener() {    @Override    public void confirm(Dialog dialog) {            }    @Override    public void cancel(Dialog dialog) {    }});

错误对话框

viewDelegate.showAlert(SplashViewDelegate.DIALOG_ERROR,"ddd");

成功对话框


viewDelegate.showAlert(SplashViewDelegate.DIALOG_SUCCESS,"ddd");

最基本的使用就是这么多了


下节我将对我封装的一些好用的工具进行讲解







更多相关文章

  1. [Android] ButterKnifeProcessor 工作流程分析
  2. [置顶] Android:实现仿 美团/淘宝 多级分类菜单效果
  3. Android之给ImageView添加点击效果
  4. 【原创】android 实现气泡式listview
  5. Android(安卓)Toast大全(五种情形)建立属于你自己的Toast
  6. ListView 实现阻尼回弹效果 并去除边缘阴影
  7. Android仿IOS 仿微信 右滑关闭Activity(附源码)
  8. LayoutInflater的inflate方法使用
  9. android 画图------类似跑马灯的效果

随机推荐

  1. 文章收集
  2. Android多点触控揭秘
  3. Android(安卓)动画框架
  4. android GOOGLE MAP应用
  5. 新版 Android(安卓)Studio 编译输出中文
  6. Android——禁止设备休眠
  7. Android(安卓)仿秒拍,微信录制短视频
  8. 去掉android的屏幕上的title bar
  9. Android中使用log4j
  10. Android(安卓)API 中文 (52) ―― ZoomButt