位置: 编程技术 - 正文

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 混淆)

  • 所得税汇算清缴招待费扣除标准
  • 无租房合同可以取住房公积金吗
  • 红字发票开错了已上传如何作废
  • 两地拿工资怎么扣个税
  • 小企业遵循什么会计准则
  • 国外租赁行业都包括哪些
  • 对赌协议赢了怎么样
  • 无息贴息贷款合同印花税
  • 一次性补缴的社保能全额退吗
  • 企业所得税虚报成本多少属于犯罪
  • 公司变卖后员工怎么办
  • 企业理财收入交哪些税
  • 个人去税务局开票流程
  • 运费发票是含税还是不含税
  • 公务用车用油
  • 如何区分境内所有银行卡
  • 未分配利润转入本年利润
  • 公司装修期间物业怎么办
  • 固定资产报废账目
  • 没有预付账款科目计入哪里
  • 如何栽柑橘苗
  • 北大新闻传播学院副院长
  • 企业购进房产会退税吗
  • 坏账是什么意思
  • system idle process是什么进程(CPU的空闲率)
  • 融资租赁和经营租赁哪个更常见
  • mac怎么共享文件
  • regsrv.exe - regsrv是什么进程 有什么用
  • Windows操作系统出现内存错误解决方法
  • php修改sql语句
  • 股权指的是
  • 基于Java+SpringBoot+Vue+uniapp微信小程序零食商城系统设计和实现
  • 什么是累计预扣预缴应纳税所得额
  • ue4ui界面制作
  • pytorch技巧
  • 建筑行业工程结算属于什么科目
  • lpstat命令
  • 行政事业单位福利费列支范围及标准2023
  • 织梦cms为什么不维护了
  • 国有土地租赁合同的性质
  • 小规模纳税人可以做进出口贸易吗
  • 股东向公司借款超过一年不还
  • 年金现值和终值的关系
  • 小规模都是做季报吗
  • 固定制造费用需要逐项进行预计通常与本期产量无关
  • 扇贝的储存方式
  • 财务风险有什么类别
  • 残保金逾期申报了补报会有罚款和滞纳金吗?
  • 开出银行承兑汇票一张用于支付材料采购款
  • 自己生产的产品用于在建工程
  • 资金结存属于资产类吗
  • 技术咨询服务开票代码
  • 通信费抬头为个人
  • 投资收益下期间怎么结转
  • 固定资产怎么记入账本明细科目
  • 各单位都需设置的是
  • mysql数据库里面有一个表查的特别慢
  • win8怎么扩展c盘
  • u盘界面可以设置背景吗
  • linux i
  • freebsd挂载ntfs
  • win7如何彻底关闭135端口 dcom
  • 当前用户已注销
  • 进入linux命令行
  • linux如何安装软件教程
  • opengl基础知识噪声名词解释
  • vue eventhub
  • 批处理计算的特点
  • cmd读取d盘
  • PHP+jquery+ajax实现分页
  • vue3.0diff
  • nodejs init
  • shell语言的特点
  • javascript delete 使用示例代码
  • 如何打印个人缴税记录
  • A级纳税人和一般纳税人区别
  • 建筑企业个人所得税管理办法
  • 北京摇号摇中了能过户吗
  • 电子客票号码8768是什么
  • 个体工商户银行卡是对公还是对私
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设