限制TextView中的行数

时间:2012-10-16 09:42:39

标签: android scroll textview lines

我有一个可滚动的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之外还有第二个组件,当我删除它时它工作,所以我会找到一个解决方法。谢谢!

6 个答案:

答案 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" 

它将减少不像单词的结尾多余的文本。