#android #textview #android-linearlayout #android-custom-view #multiline
#Android #текстовый просмотр #android-linearlayout #android-пользовательский вид #многострочный
Вопрос:
У меня есть проблема с выбором мозга, которую я пытаюсь решить для смарт-упаковки для TextView в Android. У меня есть LinearLayout (горизонтальный), который состоит из textView1, textView2 и ImageView. textView1 может содержать длинный текст или короткий текст. Для короткого текста все выглядит довольно аккуратно и так, как ожидалось. Вот так —
Теперь проблема возникает, когда текст в textView1 становится длиннее. Поскольку максимальные строки для textView1 равны 2, это выглядит примерно так
Это не идеальный опыт, потому что во многих случаях во второй строке остается много текста с пробелами.
Мой идеальный опыт, который я хочу, — это что-то вроде этого —
Есть идеи о том, как я могу добиться такого поведения? Я еще не написал никакого кода, потому что я даже не уверен, как это сделать. Любая помощь и указатели будут высоко оценены. Надеюсь получить ответы от всех вас, экспертов.
Редактировать 1: добавление скриншота на основе предложения Гэвина Flexbox
Комментарии:
1. Могу ли я увидеть код в формате .xml?
Ответ №1:
Звучит как идеальный вариант для FlexboxLayout
. Он действует как LinearLayout
, но затем завершается, когда попадает в конец строки.
Комментарии:
1. Спасибо за предложение, Гэвин. Я попробовал это, хотя все еще не то, что я хочу. Прикрепленный скриншот выше в качестве редактирования1
2. Я вижу. Возможно, вы можете просто поставить многоточие
TextView
, если для этого требуется более одной строки? Потому чтоViews
в Android должны быть прямоугольными, поэтому выполнение именно того, что вы хотите, означало бы измерение доступного пространства и каким-то образом разбивание одногоTextView
на несколькоTextViews
.3. Да, это то, о чем я думал. Может быть, мне придется взломать его таким образом. :/
4. Или, возможно, один пользовательский
View
было бы проще.5. Хммм, мне придется провести мозговой штурм, как я это создам. Просто пользовательский вид.