Страницы

Поиск по вопросам

среда, 22 января 2020 г.

Скрыть часть длинного текста android

#android


Допустим, есть TextView, состоящий из 20 строк. Я же хочу, чтобы в Activity отображалась
только часть (например, 3 строчки), а остальное появлялось в этом же Activity при нажатии
на текст. Как это можно сделать? Я знаю, что это можно сделать, обрезав текст и обработать
нажатие на TextView, показав при нажатии текст полностью. А есть ли другие инструменты
(может быть, что-то есть уже встроенное)?
    


Ответы

Ответ 1



.xml .java TextView textView = findViewById(R.id.text_view); textView.setOnClickListener(v -> textView.setMaxLines(Integer.MAX_VALUE)); Параметр maxLines будет ограничивать TextView кол-ом строчек, в примере их будет максимум 3. Параметр android:ellipsize="end" в конце будет ставить ..., примерно вот так: и при нажатии он развернется, учитывая все параметры верстки, вы можете сделать более сложную логику, например разворачивать и скрывать, или раскручивать по 1-2 строчки, увеличивая параметр maxLines. Также этот способ хорошо подойдет для анимации в будущем, так как метод setMaxLine будет вызывать invalidate для View, вам просто нужно будет поиграться с видимостью.

Комментариев нет:

Отправить комментарий