首页 > 解决方案 > TextView 额外填充 ellipsize 中间

问题描述

我有一个TextView下一个参数

<item name="android:gravity">end|center_vertical</item>
<item name="android:ellipsize">middle</item>

TextView当文本被省略时,在开始时添加 +/- 36dp 填充1

但是当文本没有被省略时,不会添加额外的填充。2

我该如何解决?我想要文本适合TextView,就像第二个屏幕截图一样。

UPD1。可以使用此代码片段重现问题。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="middle"
        android:gravity="end|center_vertical"
        android:singleLine="true"
        android:text="Lorem Ipsum is simply dummy text of the printing and typesetting industry." />

</LinearLayout>

标签: androidtextview

解决方案


将 android:ellipsize="middle" 更改为 android:ellipsize="end"。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:orientation="vertical">

<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:gravity="end|center_vertical"
        android:paddingStart="36dp"
        android:paddingEnd="36dp"
        android:singleLine="true"
        android:text="Lorem Ipsum is simply dummy text of the printing and  typesetting industry." />

 </LinearLayout>

推荐阅读