我有一个可滚动的textView,我想限制显示的行数,但是xml属性不起作用:
<TextView
android:id="@+id/tv_addesc"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:maxLines="12"
android:textColor="#FFFFFFFF"
android:textSize="15sp" />
显示的行数为50,文本中有900个字符。
如何限制显示的行数并使其可滚动?
编辑:我测试了846行和15824个字符,无论设置的属性如何,都会显示整个文本。
编辑:除了textView之外还有第二个组件,当我删除它时它工作,所以我会找到一个解决方法。谢谢!
答案 0 :(得分:78)
您只需在TextView
中设置一些行,如下所示:
android:maxLines = "10"
您还必须添加:
android:minLines="1"
如果您不使用滚动
,则不需要其余部分以及一个声明此TextView应该可以垂直滚动的属性:
android:scrollbars = "vertical"
在您的Java代码中:
yourTextView.setMovementMethod(new ScrollingMovementMethod())
答案 1 :(得分:2)
在滚动视图中显示文本视图,并设置滚动视图的固定高度。
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="120dip" >
<TextView
android:id="@+id/tv_addesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:maxLines="12"
android:scrollbars="vertical"
android:textColor="#FFFFFFFF"
android:textSize="15sp" />
</ScrollView>
根据您的需要设置属性
答案 2 :(得分:2)
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="120dip" >
<TextView
android:id="@+id/tv_addesc"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:maxLines="12"
android:scrollbars="vertical"
android:textColor="#FFFFFFFF"
android:textSize="15sp" />
</ScrollView>
答案 3 :(得分:1)
嘿尝试将singleline属性设置为false。看看它是否有效。
答案 4 :(得分:0)
我按照接受的答案和其他人的说法尝试过,但对我没有用,但在添加android:ellipsize="marquee"
之后,它现在正在工作..
答案 5 :(得分:0)
尝试使用它。
android:maxLines="12"
android:ellipsize="end"
最后,如果有其他文字,请添加 ... 。
您也可以使用
android:ellipsize="marquee"
它将减少不像单词的结尾多余的文本。