一 dileber代码讲解、activity基类

来源:互联网 发布:南京java程序员工资 编辑:程序博客网 时间:2024/06/06 07:10

dileber android 框架:乁( ˙Ω˙ )厂 跳转链接 dileber android框架
怎么说呢?既然看到了就在github上star一下呗 (´ཀ`」 ∠)

dileber官方网站 (戳这里http://dileber.dreamsoso.com)

dileber 安卓框架一共提供了2个activity基础类,分别是

BaseActivity,UBaseActivity

BaseActivity(可定制化比较高,如果项目有需求,在其基础上直接继承更改):
BaseActivity是最基础的类,只要继承该类,ActivityManager就能帮助你方便的管理所有的activity,甚至无需在项目中传递context就能完成上下文对接。

该类含有三个注解:

CloseStatusBar,HideKeyboard,CheckKeyboard

字面意思就是关闭状态栏,和隐藏键盘(刚进入activity时候有时候会弹出键盘,加上这个注解之后将键盘屏蔽掉),还有一个就是检查是否弹出键盘(判断如果弹出键盘的话就执行showKeyboard 函数)

必须实现的方法

layoutViewId,startView,initView

第一个是需要吧layout的id返回,第二个是在设置好layout之前执行的方法,第三个是在layout设置后执行的方法

方便的几个函数

findView,setToolBar,setTitle

第一个获取view,不需要强转,第二个设置toolbar,第三个设置title

BaseActivity讲解完毕

UBaseActivity(快速开发直接继承使用,含有很多方法直接使用,快速开发必备):
UBaseActivity实现了我定义好的view接口,能够快速的进行弹alert,toast,加载loading。
提供多种方法:

toast,showAlert,loading,loadDialogDismiss,dialogOk,getActivityContext

展示demo代码(demo原来是一个大型项目的一小部分代码)

public class MActivity extends UBaseActivity implements BaseFragment.OnBaseInteractionListener{    private final static String PID = "PID";    Integer pid;    public static void start(Context context,Integer pid){        Intent intent = new Intent();        intent.putExtra(PID,pid);        intent.setClass(context, MActivity.class);        context.startActivity(intent);    }    @Override    protected void startView(Bundle savedInstanceState) {    }    @Override    protected int layoutViewId() {        return R.layout.activity_tail;    }    @Override    protected void initView(Bundle savedInstanceState) {        super.initView(savedInstanceState);        pid = getIntent().getIntExtra(PID,0);        UToolBar uToolBar = new UToolBar();        uToolBar.setNeedNavigate(true);        uToolBar.setTitleString("详情页");        setToolBar(R.id.toolbar,uToolBar);        MFragment fragment = ActivityUtils.getFragment(getSupportFragmentManager(),R.id.agment, MFragment.newInstance(pid));        new lPresenter(fragment, ProductRepository.getInstance());    }    @Override    public void onRightButtonString(BaseFragment fragment, String str, View.OnClickListener onClickListener) {    }    @Override    public void onTitleName(BaseFragment fragment, String title) {        setTitle(title);    }}
0 0
原创粉丝点击