文本标签随着文本的长度移动显示的Textview

来源:互联网 发布:软件系统验收方案 编辑:程序博客网 时间:2024/06/03 14:21

1. 需求:项目中常用的UI设计,前面是一串文本,后面的秒杀、抢票等标签数量不定,优先显示,且随着前面的文本移动。前面的文本显示不下的时候尽可能多的展示文本最后用...。

2. 实现原理:

         重写Textview,获取到文本的宽度,去掉后面显示的标签的宽度获取到文本的显示宽度,计算当前宽度能不能显示下文本,不能显示下文本,对文本进行截取修改并重新绘制文本和后面的标签。

3. demo:http://download.csdn.net/detail/yijianpiaoxue2014/7973079

4. 优点(demo):

       1. 动态计算并动态绘制文本和标签图片,不需要适配

       2. 标签图片源和是否显示都是通过attr文件和代码控制。

       3. 文本可以居上、居中、居下三种模式绘制。

 5. 总结:

        自定义命名空间的实现:

            1. 在attrs布局文件中声明特别属性

            2. 在自定义view中利用构造方法中的attr获取到TypedArray对象 。

            3. 在布局文件中声明命名空间

            4. 在对应view上使用声明属性设置即可。

0 0