Любой простой, общий способ в Android получить корневой вид макета?
Мне интересно, есть ли универсальный метод в классе Android Activity, чтобы вы могли получить корневой вид этого макета активности. Я знаю, что могу сделать это так:
View v = findViewById(R.id.root_view_id)
Но я хотел бы иметь возможность сделать это без необходимости передавать идентификатор корневого представления. Мне нужно сделать это для множества разных действий, и было бы намного удобнее, если бы у меня был вызов метода одного размера для всех, чтобы выполнить задачу.
Ответы
Ответ 1
Этот ответ и комментарии дают один метод:
findViewById(android.R.id.content)
Учитывая любое представление в вашей иерархии, вы также можете вызвать:
view.getRootView()
чтобы получить корневой вид этой иерархии.
"Вид декора" также можно получить с помощью getWindow().getDecorView()
. Это корень иерархии представлений и точка, в которой она прикрепляется к окну, но я не уверен, что вы хотите напрямую общаться с ней.