Обеспечение того, чтобы 2 линейных макета, заменяющих друг друга, имели одинаковый размер - PullRequest
0 голосов
/ 23 октября 2011

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

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

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

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

Какя могу совершить этот подвиг?

1 Ответ

1 голос
/ 23 октября 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...