Как зарезервировать пространство для объекта и сделать его невидимым в XML

«Как зарезервировать пространство для объекта и сделать его невидимым в XML» — вопрос из категории UI и Views, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В XML можно зарезервировать пространство с помощью атрибута android:visibility="invisible" (объект остаётся в layout, но невидим) или android:visibility="gone" (объект полностью удаляется из layout, не занимая места).

Для резервирования места используйте View с фиксированными размерами:

<View
    android:id="@+id/placeholder"
    android:layout_width="100dp"
    android:layout_height="50dp"
    android:visibility="invisible" />

Также можно динамически управлять видимостью в коде:

val placeholder = findViewById<View>(R.id.placeholder)
placeholder.visibility = View.INVISIBLE // или View.GONE

Разница:

  • INVISIBLE – элемент невидим, но сохраняет своё место.
  • GONE – элемент исчезает, и его место освобождается.