自定义Textview加imageview图片

因公司项目需要,其实也是自己给自己挖的坑,看着首页展示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来设置就行了

最终效果如下

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

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,506评论 25 708
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,409评论 0 17
  • 文/文郎画竹 我想大家身边或者自己都有过这样的经历,要出去出差或者出去玩几天,赶紧在网上或者代理人那里买个短期的意...
    文郎画竹阅读 1,539评论 4 18
  • 如若当初,没多看你那一秒,是不是就不会有如今的念念牵挂。 喜欢你,真的好单纯,不是俗套的始于颜值,而是真儿真儿的,...
    七友以你阅读 422评论 0 0
  • 穿越时空的解忧 ——《解忧杂货店》读后感 在网上搜一下网友对于《解忧杂货店》得评价...
    棉花五阅读 244评论 0 3

友情链接更多精彩内容