美文网首页
自定义Textview加imageview图片

自定义Textview加imageview图片

作者: 沈钦伟 | 来源:发表于2017-02-27 12:05 被阅读551次

因公司项目需要,其实也是自己给自己挖的坑,看着首页展示imageview不好看,因为imageview数量不定,有的是3张有的是1张,给用户效果不好,才找的设计改的ui设计,并且给设计说如果有图片,直接在详情页展示就行了,在首页只需要加上个有图片的标,无奈只能自己写个textview了

1.首先新建个ImageTextView类,继承TextView类,实现他的构造方法

2.在attrs文件下新建个ImageTextView属性文件,便于自定义view属性使用

3.在ImageTextView的实现了TextView的onMeasure方法中注册ViewTreeObserver vto2 = getViewTreeObserver();

vto2.addOnGlobalLayoutListener(this);,否则直接获取控件的宽度getWidth()=0,因为我们在调用的时候View根本没用进行绘制相应的函数没有调用

4.在onGlobalLayout()中对文字进行宽度的获取,然后对图片位置进行添加

5.在用到的xml文件中直接使用

其中app:srcImage就是我们在TextView中需要追加的图片,至于想显示几行,直接使用系统的maxLines来设置就行了

最终效果如下

相关文章

网友评论

      本文标题:自定义Textview加imageview图片

      本文链接:https://www.haomeiwen.com/subject/zelzwttx.html