从向导创建 DrawerLayout(带有 NavigationView)时 tools:openDrawer="start" 的目的是什么?

What's the purpose of tools:openDrawer="start" when creating a DrawerLayout (with NavigationView) from the wizard?

在 Android Studio 中创建带有导航抽屉的 activity 会导致它显示在 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:openDrawerapp:openDrawer 时,应用程序无法编译,因为它们是未知属性。

所以我想知道 tools:openDrawer 是如何工作的,以及它是否在任何地方都有记录。

Android has a dedicated XML namespace intended for tools to be able to record information in XML files, and have that information stripped when the application is packaged such that there is no runtime or download size penalty. The namespace URI is http://schemas.android.com/tools and is usually bound to the tools: prefix:

这意味着 tools 属性被 IDE 使用,而不是在代码功能中使用。

我仍在努力寻找所有 tools 属性的完整文档。我在任何地方都找不到 openDrawer 属性。但以下是关于 tools 的重要文档:

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


更新

现在可以使用所有 tools 属性的完整文档 here

它使导航抽屉在 Android Studio 的预览屏幕上可见,基本上模仿用户将抽屉滑动到屏幕上。

如果没有此属性,您将只能看到主屏幕的内容视图。

我没试过,但我怀疑用 "start" 代替 "end" 会使屏幕右侧的抽屉打开(假设当然有一个抽屉)。