位置: 编程技术 - 正文

Android ToolBar 的简单封装

编辑:rootadmin

推荐整理分享Android ToolBar 的简单封装,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

使用过 ToolBar 的朋友肯定对其使用方法不陌生,因为其用法很简单,如果对 ActionBar 使用比较熟练的人来说,ToolBar 就更容易了!不过,相信大家在使用的过程中都遇到过这样一个问题,需要在每一个我们要使用的 xml 中添加 ToolBar 这个控件,比如我需要在 MainActivity中使用 ToolBar,则他的 xml 文件需要这样写,

同理其他 Activity 中需要用页都需要在 xml添加

这样一段代码,虽然不多,但是我们最烦的就是写重复代码,也不符合我们的编程思想;所以就有了以下写法

toolbar.xml的代码如下

这样我们只需要在每个我们要使用 toolbar 的 xml 中通过 include 嵌入 toolbar.xml布局就行,感觉和之前的比,确实是少了几行代码!但是意义不大。而我这里要实现的封装,是可以不需要在 xml 中写一行关于 toolbar 的代码,也就是跟平时不用 toolbar 一样的写法即可!请接着往下看。 前提是准备好toolbar.xml,ToolBarActivity.java,ToolBarHelper.java toolbar.xml中配置 toolbar 的基本属性: toolbar 的宽高,toolbar 的背景颜色等其他样式 ToolBarActivity.java是所以需要使用 toolbar Activity 的父类,这里我把他定义为抽象类,因为单独的这个类不能完成任何功能 ToolBarHelper.java 是 Activity 和 toolbar 的关联类

先来看 toolbar.xml的代码

ToolBarActivity.java的内容:主要代码是在setContentView(int id) 实现

Android ToolBar 的简单封装

ToolBarHelper.java 这个类的功能是:先创建一个 ViewGroup 来作为视图的父 View,把用户定义的 View,和 toolBar 依次 Add 到 ViewGroup 中;

到这里,toolbar 的简单封装就算完成了,一起来看看封装之后的效果吧

MainActivity.java

activity_main.xml

到这里我们不管是 MainActivity 还是 activity_main中都没有出现 ToolBar,只是 MainActivity 不再继承 AppCompatActivity,而是继承我们 ToolBarActivity,运行效果看看:

ToolBar 的其他用法这里就不讲了,跟 ActionBar 用法几乎一样,

最后: 在使用 ToolBar 的时候,需要使用无 ActionBar 的主题,

再上一张自定义 View 的 ToolBar 效果图: 标题居中,右侧可以添加按钮

源码下载

Gradle代码混淆文件个人收藏版 一般来说可以通用,放进proguard-rules.pro文件即可,混淆之后的APP运行检验一下,哪个类运行错误就把那个类Keep.最后不要忘了在build.gradle中release{//minifyEn

Android 使用Fiddler对应用进行抓包(一) Fiddler是一款免费且功能强大的数据包抓取软件。它通过代理的方式获取程序http通讯的数据,可以用其检测网页和服务器的交互情况,能够记录所有客户

Android listview的适配器以及各种监听、效率的提升 之前写过一篇关于listview的博客,现在感觉那篇博客关于listview认识不够全面。但有些方法还是可取,例如灵活的监听,写适配器。链接在这里androidlistvi

标签: Android ToolBar 的简单封装

本文链接地址:https://www.jiuchutong.com/biancheng/387484.html 转载请保留说明!

上一篇:Android天气预报小项目的一些总结(android天气预报课程设计报告)

下一篇:Gradle代码混淆文件个人收藏版(gradle 混淆)

  • 一般纳税人转小规模最新政策2022
  • 可供出售金融资产和长期股权投资
  • 存续小微企业
  • 所有者权益是
  • 技术服务费收入怎么确认收入
  • 经营损失计入哪类费用
  • 进项税额转出会影响利润吗
  • 所有的进项税都在借方吗
  • 水电费没有票怎么做账
  • 多缴税款能否跨年抵扣
  • 小规模纳税人附加税会计分录
  • 递延所得税资产和负债怎么理解
  • 1697509439
  • 华为p60pro上市时间是几月
  • js监听地址栏
  • 质押已至票据到期日
  • 幼儿园收入如何计算
  • 代开专票计提附加税吗
  • 如何更改windows用户名
  • 电脑开机显示怎么取消?
  • win没有投影到此电脑怎么办
  • 物业管理费发票图片
  • cvpr2020结果
  • php date format
  • 表单校验html5
  • php时间戳转换中国标准时间
  • 如何用python制作人工智能
  • php屏蔽ip
  • php快速排序非递归
  • 退税勾选错了怎么办
  • 个人所得税转账扣除子女教育那个什么时候可以提交
  • 织梦如何给栏目增加缩略图
  • 长期股权投资的明细科目有哪些
  • 最好用的刷题笔
  • 不认定为一般纳税人的有哪些
  • 计提工资大于发放工资,所得税汇算要调整吗
  • 开具增值税专用发票的承诺书
  • 土地增值税清算全流程实战案例
  • 2、开办费用计入哪个账户?
  • 税控维护费跨年怎么算
  • 跨年后发票作废
  • 购买土地的流程
  • 财政补助收入的支付制度包括
  • 企业注销固定资产清理税务处理
  • 作废的发票税额扣税了怎么办
  • 应收账款余额等于什么?
  • 工业企业的材料销售收入应计入什么
  • sql解析器是什么
  • sqlserver2005网络配置里没有东西
  • mysql隔离级别详解
  • windows10如何更改管理员账户
  • win10如何添加输入法
  • xp系统打开软件慢怎么解决
  • 笔记本电脑自动断开
  • linux中less和more
  • icqlite.exe进程的详细介绍 icqlite进程的查询 作用是什么
  • centos 查看用户命令
  • 如何给win7系统升级
  • win10纯净系统安装教程
  • windows7如何取消锁屏密码
  • linux !!
  • java如何自定义函数
  • 优质安卓应用
  • 电脑qq清理
  • 计算机网络设计
  • c opengl
  • js原型继承和构造继承
  • webrtc介绍
  • 用什么命令查看linux启动信息
  • jquery结合html实现中英文页面切换
  • node.js文件流
  • unityprefab
  • three. js
  • python中读取文件
  • shell脚本ll
  • jquery 树结构
  • 加油站怎么收税
  • 税务局分局副局长什么级别的干部
  • 增值税专用发票和普通发票的区别
  • 改革的财税制度是什么
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设