【实战】SuperTextView:一款强大的TextView
来源:互联网 发布:今天美国钻井平台数据 编辑:程序博客网 时间:2024/05/19 13:08
热文导读 | 点击标题阅读
教你如何开发一款实用的完整Android App,附源码
吊炸天!74款APP完整源码!
一份年薪30万的Android面试宝典,附答案
作者:lygttpod
博客:http://www.jianshu.com/u/51d1fd73fb72
本文分享了一个他的多种组合的TextView控件,功能很强大,你一定用的到,希望能够帮助到大家。
SuperTextView 是一个功能强大的View,可以满足日常大部分布局样式,开发者可已自行组合属性配置出属于自己风格的样式!可能描述起来没有概念,还是直接看效果图吧!
效果图
实现原理
需求分析
黑格尔曾说过:存在即合理。SuperTextView的出现应该就是某种需求下的产物。
在开发项目的过程中你会发现有很多页面的布局都是类似的,就比如说常见的设置页面,基本上都是 图标+文字+图标 的格式,而且出现的频率都很高,如果不做处理势必会写很多无用的代码降低开发效率,正因为如此我们为什么不把这一类view统一封装起来呐(其实就是程序猿的懒惰,哈哈),有了这个想法就开始调研市场上主流应用的显示样式,经过调研总结出一套显示方案涵盖了市面上90%以上的布局样式,目的是在以后的使用中快速高效的开发。
代码封装
在介绍封装之前先说一句题外话,其实任何功能的封装并不难,还是看你愿不愿意花时间去做,及时是简单的功能真正实现起来的时候还是会或多或少的遇到一些问题,发现问题解决问题的过程其实就是进步的过程。好了,废话不多说,下边看代码。
首先 SuperTextView 是继承自 RelativeLayout 实现,里边所有布局的添加都是通过Java代码实现的,事先定义好需要的参数名及类型。下边只列出部分参数:
然后就是在构造方法里边去实现各个方法:
我们知道系统控件可以从XML中拿到定义好的属性值,那么我们其实也是可以的,首先在 attr 中定义好相关属性名及字段类型然后通过 AttributeSet 去拿到相关属性值在进行设置:
接下来就拿一个 view 为例进行说明如何动态添加 view 及设置相关属性
初始化完view之后就是要暴露一些方法供外部人员使用了(部分代码示例)。在这里我们返回 SuperTextView对象 是为了实现链式调用
最后就是一些回调方法的使用,以点击事件为例:
相关的 set方法 拿到 OnSuperTextViewClickListener对象:
初始化 view 的时候在各个 view 的点击事件中添加相应的回调方法就行了:
以上只是源码中的部分方法拿出来供分析使用,看了之后是不是感觉实现其实很简单,赶紧自己着手实现一个吧!详细的使用方式可以查看下面的地址:
项目地址:
https://github.com/lygttpod/SuperTextView
如你有好的文章想和大家分享欢迎投稿,直接向我投递文章链接即可
Java和Android架构
微信扫描或者点击下方二维码领取Android\Python\AI\Java等高级进阶资源
关注后回复“百度”、“阿里”、“腾讯”、“资源”有惊喜
公众号:JANiubility
欢迎加入我们的Java和Android架构圈,已有近1000人加入学习交流,更多学习资源更新,更多交流进步
更多学习资料点击下面的“阅读原文”获取