У меня есть фрагмент GridLayout с 3 столбцами и 2 строками. Длина текста в первой ячейке варьируется. У меня TextView внутри первой ячейки установлен на maxLines=1 и ellipsize=end.
Моя проблема заключается в том, что всякий раз, когда текст достигает определенной длины, вторая соседняя с ним ячейка выходит за пределы экрана. Я предполагал, что установка GridLayout layout_width=match_parent сохранит сетку в пределах размера экрана, а TextView в ячейке 1 сожмется, оставив ячейку 2 внутри экрана.
Моя цель — сделать ячейку2 видимой и расположить ячейку1 по центру и заполнить оставшуюся область.
Я попробовал предложенное здесь решение: https://stackoverflow.com/a /34099239/6368401
который рекомендует:
Вам необходимо использовать fill Layout_Gravity и установить произвольную Layout_width
или ширину в длинном TextView, нуждающемся в эллиптическом преобразовании.
android:layout_gravity="fill" android:layout_width="1dp"
Я также пробовал играть с android:layout_weight и android:layout_gradity="fill_horizontal" код> . На этом этапе центрирование текста не является обязательным (не предпочтительным), пока ячейка2 остается видимой. Ширина 50 % для обеих ячеек не подойдет, так как ячейка2 никогда не будет содержать более 4 символов, а обычно 2–3 символов.
Ниже показано визуальное представление макет:
-------------------------
| cell1 | |
----------------| cell2 |
| cell3 | cell4 | |
-------------------------
Для ячейки1 установлено значение columnspan=2. для ячейки2 установлено значение rowspan=2. Все ячейки представляют собой TextView.
Это мой XML внутри фрагмента:
Подробнее здесь: https://stackoverflow.com/questions/465 ... creen-size