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