Обеспечение того, чтобы 2 линейных описания, которые заменяют друг друга, имели одинаковый размер

#android #android-layout

#Android #android-layout

Вопрос:

У меня есть верхний раздел для приложения, который в основном состоит из логотипа и прочего, а примерно нижняя половина должна быть кнопками.. Во внешнем контейнере у меня есть макет для логотипа и ImageView для создания разделительной линии между верхним и нижним и нижним макетом..

Проблема в том, что нижний макет имеет 2 линейных описания (одно из которых изначально скрыто), первое — это просто счетчик, а второе — 2 кнопки..

Я достиг «примерно 1/3 пространства), используя layout_weights в верхнем и нижнем линейном макете (2 и 1 соответственно), но когда я скрываю счетчик и показываю 2 кнопки в нижнем макете в коде, разделительная строка выдвигается вверх.. Я хочу, чтобы он оставался в том же месте (например, там, где он будет после того, как появятся 2 кнопки с самого начала, чтобы ему не нужно было перемещаться)

Я мог бы, вероятно, просто добавить некоторый запас к исходному, чтобы соответствовать ему, но я чувствую, что это вызовет проблемы в будущем на разных устройствах.

Как я могу выполнить этот подвиг?

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

1. вы установили весовую сумму в макете, который содержит верхние и нижние линейные описания?

Ответ №1:

Я думаю, вы, возможно, пренебрегаете настройкой android:layout_height="0dp" на LinearLayouts, которые вы установили android:layout_weight="1" . Если вы сделаете это, оно должно заполнить пространство так, как вы хотите, и вы можете сделать layoutView.setVisibility(View.GONE) и layoutView.setVisibility(View.VISIBLE) для переключения представлений.