34

ここでの質問によると、

Androidレイアウトファイルの「tools:context」とは何ですか?

'tools'名前空間参照(xmlns:tools = "http://schemas.android.com/tools")が最近私のレイアウトに表示され始めたので、もっと知りたいです。元の投稿では「tools:context」属性についてのみ説明されていましたが、リストビューのプレビューレイアウトアイテムを指定したときに表示される「tools:listitem」属性の使用法にも気づきました。

<ListView
    android:id="@+id/lvCustomer"
    tools:listitem="@layout/customer_list_item" >
</ListView>

もっと要素はありますか?

この「ツール」名前空間に私を導いたのは、Eclipseでレイアウトデザイナーを使用するときに「プレビューのみ」のテキスト(つまり、TextViewまたはEditText)を使用できるようにしたいということです。

現在、レイアウトを配置するときにテキストをプレビューするために「text」または「hint」プロパティを割り当てています...しかし、コード内からプレビュー値をクリアすることを常に忘れないでください。

理想的には、代わりに

<string name="preview_customer_name">Billy Bob's Roadhouse Pub</string>

...

<TextView
    android:id="@+id/tvCustomerName"
    android:text="@string/preview_customer_name"
</TextView>

次のようなものがあります:

<TextView
    android:id="@+id/tvCustomerName"
    tools:previewText="@string/preview_customer_name"
</TextView>

ありがとう-

4

4 に答える 4

25

Android Studio 0.2.11 では、このようなデザインタイム属性のサポートが追加されました。詳細については、 http://tools.android.com/tips/layout-designtime-attributesを参照してください。

于 2013-10-03T21:59:05.050 に答える
11

設計時のヘルパーとしてのみ考えてください。実行時の実際のビュー レンダリングでは処理されません。

たとえば、特定のビューがどこにあるかを明確に区別できるように、Androidスタジオで作業しているときに、レイアウトデザインでいくつかのビューの背景を設定したい場合など、通常は次のようにします

android:background="@color/<some-color>"

現在のリスクは、その色を削除するのを忘れて、apk で出荷される場合があることです。代わりに、次のようにすることができます。

tools:background="@color/<some-color>"

これらの変更は android studio に対してローカルであり、apk に転送されることはありません。

その他のオプションについては、 http://tools.android.com/tech-docs/tools-attributesもご覧ください。

于 2015-09-24T01:28:30.320 に答える
8

グラフィカル レイアウトでオブジェクトを設定すると、tool属性が表示されます。

リストビュー (グラフィカル モード) -> 右クリック -> リスト コンテンツのプレビュー -> レイアウトの選択...

生成:

tools:listitem="@layout/customer_list_item"
于 2012-10-17T17:28:14.090 に答える