TextView drawableLeft 及ellipsize 属性详解
作者:互联网
-
android:drawableLeft 属性:用于在TextView上放置图片。
日常业务场景 :完成一个既有图片,又有文字,还有背景的图标。需要< RelativeLayout > + < ImageView > + < TextView > 进行绘制。现在只需要一个< TextView >就可以搞定。
需求如图所示:
问题点:查看drawable的属性时,没有设置图片大小的属性,当切图给的较小的时候,无法在TextView中调节大小。
解决方案:在代码中动态设置。如下图所示:
-
android:ellipsize属性:省略部分文字。
marquee跑马灯的详细使用:
问题点:首先,文字何时会显示不全?
答:当文字在指定的宽度范围内,没有显示完全。这里有两种情况:
①:当不限制文字的宽度,即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