Java 如何实现具有最大高度和内部滚动的多行文本视图
我想通过以下规则限制TextView在屏幕上的空间大小:Java 如何实现具有最大高度和内部滚动的多行文本视图,java,android,android-ui,Java,Android,Android Ui,我想通过以下规则限制TextView在屏幕上的空间大小: 如果文本很短(比如说140个字符或2行),就让它占据所需的空间,但不要再多了 如果文本较长,即段落,请限制视图的最大高度(使用某种最大高度或最大行数) 下面是一些解释有效和无效结果的屏幕截图: 短文本: 中文本: 内部滚动: 空格: 长度过长: 像这样试试 XML 如果您想按行限制TextView的高度,可以使用android:maxLines: <TextView android:layout_width="w
- 如果文本很短(比如说140个字符或2行),就让它占据所需的空间,但不要再多了
- 如果文本较长,即段落,请限制视图的最大高度(使用某种最大高度或最大行数)
如果您想按行限制TextView的高度,可以使用
android:maxLines
:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="5"
android:scrollbars="vertical"
android:requiresFadingEdge="vertical" />
使用此代码,当文本长度超过最大线时,可以垂直滚动文本视图。感谢您的回答,为什么使用固定高度60dp?我正在用height=wrap\u content、maxLines=5和setMovementMethod(新的ScrollingMovementMethod())对它进行测试,并且似乎对我糟糕的wrap\u content有用
descTxtView= (TextView) findViewById(R.id.descTxtView);
descTxtView.setMovementMethod(new ScrollingMovementMethod());
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:maxLines="5"
android:scrollbars="vertical"
android:requiresFadingEdge="vertical" />
yourTextView.setMovementMethod(new ScrollingMovementMethod());