对于y轴上太长的文本,是否有android:ellipsize
(对于x轴上的文本太长的文本进行椭圆化)?我有一个TextView,它必须是一个固定的高度,但是它内部的文字通常太长而且不适合所有人,我希望它在被切成两半之前停止。
我不想设置android:maxLines
属性,以便支持多种屏幕尺寸。
我也考虑过使用......
int maxLines = (int) textView.getHeight() / textView.getLineHeight();
textView.setMaxLines(maxLines);
...,但这可能会导致问题,因为markup within the text can cause individual lines to be taller or shorter than this height。
编辑:我可以在这里使用ScrollView来防止切换一半的文本,但我希望这是一个预览,下面有一个按钮供用户点击查看整个文本。
答案 0 :(得分: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>
答案 1 :(得分:0)
尝试使用setEllipsize(TextUtils.TruncateAt where)
手动设置ellipsize,并定义要切断文本的位置。