4

android:ellipsize对于在 y 轴上太长的文本,是否有任何等价物(它省略了在 x 轴上太长的文本)?我有一个必须是固定高度的 TextView,但是其中的文本通常太长而无法全部放入,我希望它在被切成两半之前停止。

例子截断

我不想设置android:maxLines属性,以便我可以支持多种屏幕尺寸。

我也考虑过使用...

int maxLines = (int) textView.getHeight() / textView.getLineHeight();
textView.setMaxLines(maxLines);

...,但这可能会导致问题,因为文本中的标记可能会导致个别行高于或低于此 height

编辑:我可以在这里使用 ScrollView 来防止切割一半的文本,但我希望这是一个预览,下面有一个按钮供用户单击以查看整个文本。

4

2 回答 2

0

您可以将 TextView 包装在 ScrollView 中。

<ScrollView android:id="@+id/MyTextParent"
    android:layout_width="fill_parent"
    android:layout_height="100dp"
    android:scrollbars="vertical">

    <TextView android:id="@+id/MyText"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="TEXT"/>

</ScrollView>
于 2013-06-21T17:17:45.450 回答
0

尝试手动设置椭圆大小,使用setEllipsize(TextUtils.TruncateAt where),并定义要在哪里截断文本。

于 2013-06-21T20:08:03.213 回答