В каком порядке отрисовываются View в Android

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

Ответ

View отрисовываются в порядке их добавления в родительский контейнер (по индексу в ViewGroup). Последняя добавленная View будет отображаться поверх предыдущих.

Можно управлять порядком через:

  1. bringToFront() - перемещает View на передний план
  2. setZ(float) - изменяет Z-порядок (API 21+)
  3. ViewGroup.addView(View, int) - добавляет View на определенную позицию

Пример:

val view1 = View(context)
val view2 = View(context)
container.addView(view1)
container.addView(view2) // view2 будет поверх view1

view1.bringToFront() // теперь view1 поверх view2