其他分享
首页 > 其他分享> > TextView drawableLeft 及ellipsize 属性详解

TextView drawableLeft 及ellipsize 属性详解

作者:互联网

  1. android:drawableLeft 属性:用于在TextView上放置图片。

    日常业务场景 :完成一个既有图片,又有文字,还有背景的图标。需要< RelativeLayout > + < ImageView > + < TextView > 进行绘制。现在只需要一个< TextView >就可以搞定。
    需求如图所示:
    简单使用场景在这里插入图片描述在这里插入图片描述
    问题点:查看drawable的属性时,没有设置图片大小的属性,当切图给的较小的时候,无法在TextView中调节大小。
    解决方案:在代码中动态设置。如下图所示:
    解决图片不能更改大小的问题

  2. android:ellipsize属性:省略部分文字。
    在这里插入图片描述
    marquee跑马灯的详细使用::①:同时需要设置 singleLine = 1;focusable = true;还可以设置marqueeRepeatLimit="marquee_forever"(一直轮播)
    问题点:首先,文字何时会显示不全?
    答:当文字在指定的宽度范围内,没有显示完全。这里有两种情况:
    ①:当不限制文字的宽度,即layout_width=wrap_content/match_content时,文字超过用户显示的屏幕便会自动进行省略。
    ②:限制文字的宽度,即layout_width="xxdp"的时候,当文字显示超过此宽度的时候,则会进行省略。

    业务场景:recyclerView条目中,设置的TextView的长度大于12个字符后,才进行缩略显示,并且条目的后面紧跟其他图标。这样的一个列表中,条目图标才会因为条目长度的不同,如样图一所示。
    问题点:不能固定限制item中TextView的宽度,才能保证显示长短不一的话,就不能限制TextView 的宽度,不限制TextView的话,也不能让其超过屏幕进行自动缩略,那如何进行设置呢?
    解决方案:在代码中动态设置。如下图所示:
    在这里插入图片描述
    注意:动态获取LayoutParams的时候,需要获取的时该TextView所在的父布局的属性,如果LinearLayout.LayoutParams…,则new LinearLayout ,如果时RealtiveLayout,则new RelativeLayout.LayoutParams…

    样图一:
    在这里插入图片描述

标签:文字,ellipsize,LayoutParams,drawableLeft,宽度,图标,TextView,属性
来源: https://blog.csdn.net/weixin_37716758/article/details/93864758