Как программно изменить видимость макета

Существует способ изменить видимость View, но как я могу программно изменить видимость макета, определенного в XML? Как получить объект макета?

<LinearLayout
    android:id="@+id/contacts_type"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:visibility="gone">
</LinearLayout>
56
задан Cœur 8 December 2017 в 16:39
поделиться

2 ответа

Взгляните на View.setVisibility (View.GONE / View.VISIBLE / View.INVISIBLE) .

Из документации API :

public void setVisibility (int visibility)

Так как: API уровня 1

Установите включенное состояние этого представления.
Связанные атрибуты XML: android: visibility

Параметры:
visibility Одно из ВИДИМО, НЕВИДИМО или УДАЛЕНО.

Обратите внимание, что LinearLayout - это ViewGroup , которая, в свою очередь, является View . То есть вы вполне можете вызвать, например, myLinearLayout.setVisibility (View.VISIBLE) .

В этом есть смысл. Если у вас есть опыт работы с AWT / Swing, вы узнаете это по связи между Контейнером и Компонентом . (Контейнер - это Компонент .)

103
ответ дан 26 November 2019 в 17:14
поделиться

Вы можете изменить видимость макета так же, как и для обычного просмотра. Используйте setVisibility (View.GONE) и т. Д. Все макеты - это просто представления, их родительский элемент имеет View.

2
ответ дан 26 November 2019 в 17:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: