最近在实现需求的时候,需要让TextView最多显示8个字,若字数超过8个,则后面的显示省略号。顿时感觉悲剧了,其实只需要在xml文件中设置即可,代码如下:
<TextView
android:id="@+id/tv_from"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:maxLines="1"
android:maxEms="8"
android:ellipsize="end"
android:textColor="@color/black"
android:text="ahoieoiajacpacpoaijd"
android:textSize="12sp"/>
这里主要是三行比较重要的代码:
android:maxLines="1"
android:maxEms="8"
android:ellipsize="end"
maxLines是为了给TextView设置单行,由于之前的api中singleLine属性被废弃,新的api中用maxLines代替
maxEms是设置TextView显示的最多字符串个数
ellipsize="end"是为了实现多出的字显示成省略号,
当然此处需要注意的还有一点,那就是textView的 android:layout_width 一定要为 wrap_content,而不能设置成 match_parent,我当初就是设置成match_parent,死活显示不出效果。希望大家能注意到这个问题
谢谢诶。