Подтвердить что ты не робот

Ограничить количество строк в TextView

У меня есть scrollable 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, когда я его удалил, так что я найду обходное решение. Спасибо!

4b9b3361

Ответ 1

Вам просто нужно установить несколько строк в TextView следующим образом:

android:maxLines = "10"

и вы также должны добавить:

android:minLines="1"

Остальная часть этого не требуется, если вы не используете прокрутку

и свойство, которое говорит, что этот TextView должен быть прокручиваемым по вертикали:

android:scrollbars = "vertical"

И в вашем Java-коде:

yourTextView.setMovementMethod(new ScrollingMovementMethod())

Ответ 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

<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>

Ответ 4

попробуйте установить для свойства singleline значение false. Просто посмотрите, работает ли он.

Ответ 5

Найдите текстовое представление по id:

TextView myTextBox=(TextView)findViewById(R.id.textBox);

Теперь используйте функцию setMaxLines и назначьте количество строк, которые вам нужны, например, 20.

myTextBox.setMaxLines(20);

Это ограничивает ваше текстовое поле, чтобы показывать только 20 строк.

Ответ 6

Я пробовал, как сказал в принятом ответе, а другие, но не работал у меня, но после добавления android:ellipsize="marquee" теперь он работает.