TextView 中的多行淡入淡出省略号

Nor*_*Lee 5 android textview

我可以通过设置 android:ellipsize="end" 制作一个多行 TextView,其文本被省略号截断,并且我可以通过设置 android:ellipsize="marquee" 制作一个单行 TextView,其文本淡出。但是当 TextView 中有多于一行时,选取框设置不起作用。

有没有办法通过淡出多行 TextView 中的最后一行来截断文本?

编辑:我可以使用两个单独的 TextView 进行一种黑客实现,并向第一个添加 OnLayoutChangeListener 以检查文本是否超过 X 行数,然后将文本从那里剪掉并将其余部分放入第二个中TextView,仅限一行,因此可以使用 ellipsize=marquee 淡出。

<TextView
    android:id="@+id/text_one"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
/>
<TextView
    android:id="@+id/text_two"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:singleLine="true"
/>
Run Code Online (Sandbox Code Playgroud)
<TextView
    android:id="@+id/text_one"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
/>
<TextView
    android:id="@+id/text_two"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="marquee"
    android:singleLine="true"
/>
Run Code Online (Sandbox Code Playgroud)

不幸的是,我希望为列表中的每个项目实现这一点,但我找不到方法来做到这一点。我只让它适用于静态页面上两个简单 TextView 的情况。