Android快速开发架构PlanA(一),船新版本的BaseActivity

Android快速开发架构PlanA,一周一个APP,持续维护中!
Android快速开发架构PlanA(一),船新版本的BaseActivity
Android快速开发架构PlanA(二),简单粗暴的路由管理PRouter
Android快速开发架构PlanA(三),你一定会用上的工具类
Android快速开发架构PlanA(四),网络请求篇,划重点(必考)
Android快速开发架构PlanA(五),文件上传下载了解一下
Android快速开发架构PlanA(六),抱歉,这些自定义控件真的可以让你为所欲为
Android快速开发架构PlanA(七),隐藏技能:PhotoBrowse图片浏览
Android快速开发架构PlanA(八),手滑搞了个万能适配器CommonAdapter

1.BaseActivity的使用

  PlanA架构集成第一篇,BaseActivity的使用,在Android开发中,几乎都要用到Activity基类,基类可以做很多事情,从而在子Activity中不需要做太多繁杂的事情,只需要继成就行了,本篇讲述的就是PlanA中BaseActivity的相关方法封装,减少开发者大部分的代码量,为外部提供方便快捷的实现法则。

2.BaseActivity(继承)

  • 可事先新建一个MyBaseActivity类用于ButterKnife注解、状态栏、标题栏颜色等统一管理再集成BaseActivity,如果新建了MyBaseActivity的话,别忘了也要新增两个抽象方法来覆盖BaseActivity中的那俩抽象方法哦,可以附上个简单的快照,仅供参考!

    public abstract class MyBaseActivity extends BaseActivity {
    
        public abstract int getLayoutResId();
        public abstract void initView(Bundle var1);
    
        @Override
        public int getContentViewResId() {
            return getLayoutResId();
        }
    
        @Override
        public void init(Bundle savedInstanceState) {
            initView(savedInstanceState);
        }
    }
    
  •   public class TestActivity extends MyBaseActivity {
          @Override
          public int getLayoutResId() {
              return R.layout.activity_test;
          }
    
          @Override
          public void initView(Bundle var1) {
              setTitle("MyBaseActivity实例");
          }
      }
    
    • BaseFragment与BaseActivity基本一致,只是不包含TitleBar的相关操作

    • 开启菊花加载模态窗 showDialog();

    Android快速开发架构PlanA(一),船新版本的BaseActivity_第1张图片
    菊花加载弹窗.jpg
  • 关闭菊花加载模态窗 closeDialog();

  • TitleBar支持根布局为LinearLayout(android:orientation="vertical"),RelativeLayout和ConstraintLayout(TitleBar的id为common_title_bar,高度为50dp,开发者在使用RelativeLayout和ConstraintLayout的时候就需要针对自己的控件搞点标题栏约束了);

  • 隐藏标题栏 hideTitleBar();

  • 显示标题栏 showTitleBar();

  • 隐藏返回icon hideEsc();

  • 显示返回icon showEsc();

  • 设置标题 setTitle(Object title); title参数为String或int(String引用)

  • 标题栏显示更多icon showMore(OnTitleBarListener onTitleBarListener); 参数为点击回调接口,位于BaseActivity

  • 替换标题栏更多icon replaceMoreIcon(int iconId); 参数为新icon的id引用

Android快速开发架构PlanA(一),船新版本的BaseActivity_第2张图片
Screenshot_20180706-112834.jpg
  • 设置标题栏背景颜色 setTitleBarBg(color); 参数为int颜色值

  • 设置返回icon setEscIcon(icon);

  • 设置标题颜色 setTitleTextColor(color);

  • 设置标题字体大小 setTitleTextSize(textSizeSP);

  • 获取返回icon getEscIcon();

  • 获取标题控件 getTitleView();

  • 获取更多icon getMoreIcon();

  • 获取标题栏 getRlTitleBar();

  • 获取ViewDataBinding getViewDataBinding(); 获取的实例为ViewDataBinding 需要强转

  • setIsShowStatusBar(isShow); 是否显示状态栏,true:恢复状态栏位置并默认背景色,false:隐藏状态栏并使布局顶上去

Android快速开发架构PlanA(一),船新版本的BaseActivity_第3张图片
隐藏状态栏.jpg
  • setStatusBarColor(color); 设置状态栏颜色(沉浸式)
Android快速开发架构PlanA(一),船新版本的BaseActivity_第4张图片
设置状态栏颜色&沉浸式.jpg
  • setStatusBarColor(color,alpha); 设置状态栏颜色,alpha为透明度

  • 6.0+权限请求,requestPermission(permissions,code) 所请求的权限别忘了在Manifest里注册

  • 权限请求回调,权限请求成功回调接口:permissionSucceed 权限请求失败回调接口:permissionFailing

  • 更多API请详看BaseActivity源码

你可能感兴趣的:(Android快速开发架构PlanA(一),船新版本的BaseActivity)