自定义组合控件——通用标题栏

开发项目的过程中,我们会发现,有很多页面都需要一种同样的布局,来做同样的功能。例如下图的效果,我在开发项目中,大部分页面,都需要这个布局,并且都做一件事:返回前一页。

Paste_Image.png

不会偷懒的程序员,不是好程序员。

第一种程序员:每次有新页面需要这个布局,就复制粘贴,简直是最勤快的笨程序员了。

第二种程序员:稍微聪明一点,会使用<include>标签来引入这个布局。但是这个方法依旧不够完美。因为还是要每次代码写onClick,如果页面真的很多的话,我选择狗带。

第三种程序员:会使用自定义组合控件来帮助自己。每次只需要在xml里引入自己的控件, so easy!妈妈再也不用担心我的代码了!

当然,我才不会说,这是我的进化史!T_T。。。

自定义组合控件,说简单也不简单,说难也不难。(ps:我在说废话。)
好了,开始写一个通用标题栏吧!
1.看图说话,很明显,这个组合控件,需要一个ImageView和一个TextView。有很多高手,喜欢直接用代码写出来。但是我头脑简单,选择使用xml。我建议新手使用xml。

Paste_Image.png

2.写好了布局,看一下有哪些地方需要动态设置的,很明显,titleText这个TextView的值是需要我们单独设置的,毕竟不可能每个页面标题一样。于是,我们需要去attr文件里设置自定义属性。

Paste_Image.png

3.ok!万事俱备,只欠起飞。新建一个class文件,类名和<declare-styleable>的name名称一样并继承LinearLayout。让我描述代码,这件事真麻烦,蓝瘦香菇。还是看代码吧T_T

Paste_Image.png

若是你看不懂,我只能说,没关系,孩子。你的未来还很长,不着急。
若是看懂了,恭喜你,你又成长了!
xml里只需引入:

Paste_Image.png

好了,其他不用管了。点击事件控件里已经写好,好好去聚焦其他的内容吧。

最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,666评论 25赞 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,908评论 4赞 61
  • 01大风下的陪伴 还在住在茅草屋的那几年,有一天家人没有一个人在家,我自己一个人,当时的大院里的小朋友刚好都没有在...
    是籽阳阅读 351评论 0赞 0
  • 我只能说 欣赏照片的时候千万别联系我的日常 勿喷
    木子李___阅读 128评论 0赞 0

友情链接更多精彩内容