【MVP】BaseActivity里面的内容
来源:互联网 发布:26岁出国读研 知乎 编辑:程序博客网 时间:2024/06/05 16:51
自我学习使用
主要是些对activity的基本处理
package com.example.chen.lolhelper.ui.base;import android.content.Context;import android.content.pm.ActivityInfo;import android.graphics.Color;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.support.v7.widget.Toolbar;import android.view.Window;import android.widget.Toast;import com.example.chen.lolhelper.R;import com.example.chen.lolhelper.manager.AppManager;import com.example.chen.lolhelper.util.ClassUtil;import com.example.chen.lolhelper.weiget.view.ProgressWheel;import butterknife.Bind;import butterknife.ButterKnife;/** * Created by chen on 2017/8/21. */public abstract class BaseActivity <T extends BasePresenter,E extends BaseModel>extends AppCompatActivity{ public T mPresenter; public E mModel; public Context mContext; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { doBeforeSetcontentView(); super.onCreate(savedInstanceState); setContentView(getLayoutId()); ButterKnife.bind(this); mContext = this; mPresenter = ClassUtil.getT(this,0); mModel = ClassUtil.getT(this,1); if(mPresenter != null){ mPresenter.mContext = this; this.initPresenter(); } this.initView(); } @Bind(R.id.toolbar) @Nullable Toolbar toolbar; @Bind(R.id.progressWheel) @Nullable ProgressWheel progressWheel; public void initBaseToolbar(int titleResId,Boolean canBack){ assert toolbar != null; toolbar.setTitle(titleResId); toolbar.setTitleTextColor(Color.WHITE); setSupportActionBar(toolbar); if(canBack && getSupportActionBar() != null){ getSupportActionBar().setHomeButtonEnabled(true); //设置返回键可用 getSupportActionBar().setDisplayHomeAsUpEnabled(true); } } public void initBaseToolBar(String titleStr, boolean canBack) { assert toolbar != null; toolbar.setTitle(titleStr); toolbar.setTitleTextColor(Color.WHITE); setSupportActionBar(toolbar); if (canBack && getSupportActionBar() != null) { getSupportActionBar().setHomeButtonEnabled(true); //设置返回键可用 getSupportActionBar().setDisplayHomeAsUpEnabled(true); } } public void showLoading(){ if (progressWheel != null && !progressWheel.isSpinning()){ progressWheel.isSpinning(); } } public void stopLoading(){ if (progressWheel !=null&& progressWheel.isSpinning()){ progressWheel.stopSpinning(); } } /** * 设置layout前配置 */ private void doBeforeSetcontentView() { // 把actvity放到application栈中管理 AppManager.getAppManager().addActivity(this); // 无标题 requestWindowFeature(Window.FEATURE_NO_TITLE); // 设置竖屏 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);// if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {// Window window = getWindow();// window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);// window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);// window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);// window.setStatusBarColor(Color.TRANSPARENT);// } } /********************* * 子类实现 *****************************/ //获取布局文件 public abstract int getLayoutId(); //简单页面无需mvp就不用管此方法即可,完美兼容各种实际场景的变通 public abstract void initPresenter(); //初始化view public abstract void initView(); @Override public void onLowMemory() { super.onLowMemory(); } @Override protected void onStart() { super.onStart(); } @Override protected void onResume() { super.onResume(); } @Override protected void onPause() { super.onPause(); } @Override protected void onStop() { super.onStop(); } @Override protected void onDestroy() { super.onDestroy(); if(mPresenter !=null) mPresenter.onDestroy(); ButterKnife.unbind(this); AppManager.getAppManager().finishActivity(this); } protected void toast(String msg){ Toast.makeText(mContext,msg,Toast.LENGTH_SHORT).show(); }}
阅读全文
0 0
- 【MVP】BaseActivity里面的内容
- MVP模式及BaseActivity的简单封装
- MVP项目研究——BaseActivity实现基本数据的绑定与释放
- 关于Timer写在BaseActivity里面 重复new 报错的问题
- 修改ArrayList里面的内容
- 复制cmd里面的内容
- 读取记事本里面的内容
- elasticsearch里面的内容搜索
- Slua里面的内容理解
- 基于内容产品的MVP探索
- 关于BaseActivity的用法
- BaseActivity的应用
- BaseActivity的重要性
- 定制自己的BaseActivity
- 自定义的BaseActivity
- 我常用的BaseActivity
- 带ToolBar的BaseActivity
- BaseActivity的作用
- Gradle,Groovy与Android Studio中的Gradle详解
- JAVA8 十大新特性详解
- 陀螺仪数据处理
- casper.js
- 严蔚敏数据结构(C语言版)理解以及部分习题
- 【MVP】BaseActivity里面的内容
- maven中常用的依赖
- Andrew Stankevich Contest 2 (ASC 2) |我为什么要开这套题
- [js高手之路] dom常用节点属性兼容性详解与应用
- A
- 关于数据降维函数sklearn-PCA的使用
- HDU 6166 Senior Pan (最短路 好题)
- CodeForces
- python运维second_chapter(1)