Ответ
View отрисовываются в порядке их добавления в родительский контейнер (по индексу в ViewGroup). Последняя добавленная View будет отображаться поверх предыдущих.
Можно управлять порядком через:
bringToFront()- перемещает View на передний планsetZ(float)- изменяет Z-порядок (API 21+)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