自定义ActionBar
在项目开发中,我们经常要用到ActionBar,今天和大家讲解一下将ActionBar写成自定义view的写法,废话不多说,直接上真活。
分析问题:市面上的都是左边一个返回按钮,中间标题,右边是一个图标/文字直接显示
大致思路:自定义组合控件来达到ActionBar的效果,然后将颜色、字体、文字设置都写成动态设置/xml设置的,点击事件的设置,以此来达到自定义ActionBar的效果
1.自定义ActionBar xml布局
左边一个icon,中间文字,右边icon/文字
|
|
2.自定义ActionBar java代码
自定义ActionBar整体布局是RelativeLayout,所以我们的组合控件要继承RelativeLayout:
|
|
3.自定义属性
values目录下创建 attrs.xml:
|
|
这里我定义来四个属性,分别是背景颜色、文字颜色、标题字体大小、字体大小,为了引入自定义的属性,我们需要在
ActionBarView的构造函数中解析自定义属性的值:(我这里吧解析自定义属性的值单独写方法写出来的,便于代码的查看)
|
|
然后贴出自定义ActionBarView的全部代码;
|
|
4.xml中引用自定义ActionBarView
自定义的属性xml里都能设置
|
|
5.项目中的调用
1.左边icon,中间标题,右边icon
|
|
2.左边icon,中间标题,右边文字
|
|
这是我根据我实际项目中的去自定义的ActionBar,你也可以根据自己的实际项目去更改符合你项目的。
最后附上GitHub demo地址