android mvp快速开发框架介绍(继续dileber)

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");

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


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







评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

二蛋和他的大花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值