Какова цель инструментов: openDrawer = "start" при создании DrawerLayout (с NavigationView) от мастера?

Создание активности с помощью навигационного ящика в Android Studio приводит к тому, что это отображается в коде XML:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">

Если я удалю tools:openDrawer="start", при предварительном просмотре макета навигационный ящик будет закрыт, а не открыт.

Я думал, что это атрибут замены, похожий на android:text, который можно заменить на tools:text, чтобы поместить некоторый текст-заполнитель в предварительный просмотр макета. Но когда я меняю его на android:openDrawer или app:openDrawer, приложение не может быть скомпилировано, потому что это неизвестные атрибуты.

Итак, мне интересно, как работает tools:openDrawer, и где он документирован где угодно.

+12
источник поделиться
2 ответа

Android имеет специальное пространство имен XML, предназначенное для инструментов, которые могут записывать информацию в XML файлы и лишить эту информацию когда приложение упаковано так, что нет времени выполнения или скачать размер штрафа. URI пространства имен http://schemas.android.com/tools и обычно привязан к инструментам: Префикс:

Это означает, что атрибут tools используется средой IDE и не используется в функциональности кода.

Я все еще пытаюсь найти полную документацию всех атрибутов tools. Я не могу найти атрибут openDrawer где угодно. Но вот над tools отличная документация:

http://tools.android.com/tech-docs/tools-attributes
http://tools.android.com/tips/layout-designtime-attributes


UPDATE

Теперь доступна полная документация обо всех атрибутах tools здесь.

+10
источник

Это делает навигационный ящик видимым на экране предварительного просмотра в Android Studio, фактически подражая пользователю, вытаскивая ящик на экран.

Без этого атрибута вы увидите только представление содержимого основного экрана.

Я не пробовал, но я подозреваю, что подстановка "start" для "end" заставит ящик справа от экрана открываться (при условии, конечно, что есть).

+10
источник

Посмотрите другие вопросы по меткам или Задайте вопрос