web-dev-qa-db-ja.com

ウィザードから(NavigationViewを使用して)DrawerLayoutを作成するときのtools:openDrawer = "start"の目的は何ですか?

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がどのように機能するのか、そしてそれがどこかに文書化されているのかどうか疑問に思います。

16

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


[〜#〜]更新[〜#〜]

これで、すべてのtools属性の完全なドキュメントが利用可能になりました ここ

13
Henry

これにより、ナビゲーションドロワーがAndroid Studioのプレビュー画面に表示され、ユーザーがドロワーを画面にスワイプするのを基本的に模倣します。

この属性がないと、メイン画面のコンテンツビューのみが表示されます。

試したことはありませんが、「end」を「start」に置き換えると、画面右側の引き出しが開いてしまうのではないかと思います(もちろんあると仮定して)。

10
Kuffs