分享一个可动态变化,多屏适配的ActionBar控件–SuperActionBar

原创 cheny  2017-12-01 21:42  评论 0 条
摘要:

这个控件一直在项目中使用,Android自带的ActionBar不太好用,且扩展性也不如咱自己实现的ActionBar。SuperActionBar实现了文本和图片标题的动态切换,满足了一些需要灵活调整标题的需求。当然,还有一个特性–自动适配不同屏幕的设备,其原理参考了一些牛人的适配方案。本文纯属分享性文章,仅作些简单的讲解,代码注释以及使用方法的代码示例,希望SuperActionBar能有幸在大家的项目发挥作用或提供实现思路上的帮助。

这个控件一直在项目中使用,Android自带的ActionBar不太好用,且扩展性也不如咱自己实现的ActionBar。SuperActionBar实现了文本和图片标题的动态切换,满足了一些需要灵活调整标题的需求。当然,还有一个特性–自动适配不同屏幕的设备,其原理参考了一些牛人的适配方案。本文纯属分享性文章,仅作些简单的讲解,代码注释以及使用方法的代码示例,希望SuperActionBar能有幸在大家的项目发挥作用或提供实现思路上的帮助。

预览效果图

组织结构

下面按照组织结构顺序贴上代码

1.attr属性,attrs.xml

配置一些标题栏的字体大小,颜色,图标以及参考分辨率标准等等属性

2.id标识,ids.xml

给view添加tag标识,以便识别身份(如:id_actionbar_location,验证是否为子标题view,且判断其所处ActionBar位置)以及验证是否缩放过,避免重复缩放(如:is_scale_size_tag,验证是否为已经缩放的view),具体请看UI逻辑代码

3.UI逻辑代码,SuperActionBar.java

UI设计逻辑全部于此编写,概括为标题栏元素的生成,排版和缩放

使用示例

这里直接粘贴预览图实现的代码,activity_main.xml,btn_back_selector.xml,MainActivity.java

建议将Activity的 mActionBar 属性和initActionBar()方法写到封装的BaseActivity中,以便直接使用。
好了,以上为本文的全部内容,又水了一篇。欢迎留言,给出自己的建议,谢谢!文章会不定期更新~

本文地址:http://icheny.cn/%e5%88%86%e4%ba%ab%e4%b8%80%e4%b8%aa%e5%8f%af%e5%8a%a8%e6%80%81%e5%8f%98%e5%8c%96%ef%bc%8c%e5%a4%9a%e5%b1%8f%e9%80%82%e9%85%8d%e7%9a%84actionbar%e6%8e%a7%e4%bb%b6-superactionbar/
关注我们:加我微信:扫描二维码乘月网的微信号,微信号:ausboyue
版权声明:本文为原创文章,版权归 cheny 所有,欢迎分享本文,转载请保留出处!

发表评论


表情