Что такое вид декора окна телефона?
Я попытался получить корневой вид макета, который я включаю (включая тег). Вместо первоначальной относительной компоновки, которую я использовал, он вернул окно просмотра окна телефона. Что это? Почему это не под относительной разметкой?
Структура ниже:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:tag="rlMain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/lightest_gray">
<include layout="@layout/include_attachment_options" />
</RelativeLayout>
2 ответа
Как вы пытаетесь получить Root View?
Представление "Окно телефона" является представлением верхнего уровня, а все остальное (ваша деятельность) является дочерним для этого.
См. https://developer.android.com/reference/android/view/Window.html
Абстрактный базовый класс для окна верхнего уровня и политики поведения. Экземпляр этого класса должен использоваться в качестве представления верхнего уровня, добавляемого в диспетчер окон. Он предоставляет стандартные политики пользовательского интерфейса, такие как фон, область заголовка, обработка ключей по умолчанию и т. Д.
Единственной существующей реализацией этого абстрактного класса является android.view.PhoneWindow, которую вы должны создать при создании окна.
Если вы хотите получить полную иерархию представлений, попробуйте UI Automator Viewer.
Проще говоря, Decor-view - это то, что вы видите за мгновение до того, как разметка макета активности. Обычно это просто белый экран.
Чтобы получить представление о корне включенного макета, вы должны дать ему идентификатор в файле макета (include_attachment_options.xml) и затем посмотреть его следующим образом:
RelativeLayout rl = (RelativeLayout) findViewById (R.id.root_layout);