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

    菊花加载弹窗.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引用

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:隐藏状态栏并使布局顶上去

隐藏状态栏.jpg
  • setStatusBarColor(color); 设置状态栏颜色(沉浸式)
设置状态栏颜色&沉浸式.jpg
  • setStatusBarColor(color,alpha); 设置状态栏颜色,alpha为透明度

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

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

  • 更多API请详看BaseActivity源码

更多相关文章

  1. 【EditText】Android设置EditText不可编辑
  2. Android(安卓)在 LinearLayout 添加分割线 divider
  3. android属性详解
  4. 玩转Android---UI篇---TextView(文本框)
  5. android:padding和android:layout_margin的区别?
  6. Android上开发Android软件
  7. Android(安卓)UI开发第九篇——SlidingDrawer 抽屉效果
  8. 系出名门Android(1) - 在 Windows 下搭建 Android(安卓)开发环境
  9. android开发文档中的一个小错误

随机推荐

  1. thinking in java逍遥游记 之 夜的第四章
  2. Maven编译提示:软件包不存在
  3. java 使用jdbc连接Greenplum数据库和Post
  4. ********** javamaill邮箱发送问题 *****
  5. Java对象引用处理机制
  6. java数组和c中数组的区别
  7. 北京一年工作经验的java web开发程序员税
  8. 雪天,荆棘丛中,跪求,帮帮忙。
  9. 黑马程序员_Java基础_我的Day09学习笔记
  10. 如何在android中的recycler视图中显示第