某些情况下,TextView自动换行后,会出现每行结尾处显示不全的问题,
如图:
常见解决方案:
- 设置TextView的"ellipsize"属性为"end" 实测无效!
- 将TextView外部的Layout改为RelativeLayout 实测无效!
- 自定义TextView 过于繁琐且影响性能!
实际解决方案:
只需要设置TextView一个属性就可以解决,这个属性比较冷门:breakStrategy 意为换行策略,
将breakStrategy设置为"balanced"成功解决问题
代码如下:
html
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/win_item_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:breakStrategy="balanced"
android:ellipsize="end"
android:maxLines="100"
android:text="原文"
android:textColor="@color/white"
android:textSize="14dp" />
<TextView
android:id="@+id/win_item_tv_t"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/win_item_tv"
android:breakStrategy="balanced"
android:ellipsize="end"
android:maxLines="100"
android:paddingTop="2dp"
android:text="译文"
android:textColor="#fbbf48"
android:textSize="14dp" />
</RelativeLayout>
修改后运行效果如下:
如果您感觉文章有用的话麻烦点个赞吧.