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
@CloseTitle
public 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中编写监听器代码。

例如以下

@Override
protected 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. 【流量劫持】躲避 HSTS 的 HTTPS 劫持
  2. 【神器】vimum在浏览器中键盘操作选择、复制、粘贴,键盘党的最爱
  3. ASP.Net请求处理机制初步探索之旅 - Part 3 管道
  4. ZOJ-1239 Hanoi Tower Troubles Again!
  5. 你了解javascript中的function吗?(1)
  6. Android 环境配置
  7. linux 查看剩余内存数
  8. POJ3162 Walking Race(树形DP+尺取法+单调队列)
  9. Spring XML配置实现AOP
  10. PHP JAVA Bridge桥的最新使用
  11. MySQL CAST与CONVERT 函数的用法
  12. postgresql9.5 run 文件linux安装后配置成开机服务
  13. 文《左右c++与java中国的垃圾问题的分析与解决》一bug分析
  14. iTextSharp生成pdf文档案例
  15. Android开发学习资源
  16. zookeeper分布式搭建
  17. ACPI状态简介
  18. Learning-Python【15】:内置函数
  19. VIM常见命令
  20. Struts2--HelloWord

热门文章

  1. Canvas与Image互相转换示例以及利用该技术实现微信长按自动识别二维码功能
  2. [HEOI2016/TJOI2016][bzoj4555] 求和 [斯特林数+NTT]
  3. vue中scoped vs css modules
  4. app自动测试-微信(iOS)-web-1
  5. Python之时间:calender模块(日历)
  6. BZOJ 4491: 我也不知道题目名字是什么
  7. hdu 1867 A+B again for you
  8. [LeetCode] Add Two Numbers 链表
  9. linux mmap 详解【转】
  10. python之wxPython菜单使用详解