Существует способ изменить видимость 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>
Взгляните на 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, вы узнаете это по связи между Контейнером
и Компонентом
. (Контейнер
- это Компонент
.)
Вы можете изменить видимость макета так же, как и для обычного просмотра. Используйте setVisibility (View.GONE) и т. Д. Все макеты - это просто представления, их родительский элемент имеет View.