Пространство имен Android "tools" в XML-документации макета

на вопрос здесь,

что такое "инструменты: контекст" в файлах макета Android?

ссылка на пространство имен "tools" (xmlns: tools="http://schemas.android.com/tools") начал появляться в моих макетах в последнее время, и я хочу знать больше. В исходном сообщении описывался только атрибут "tools: context", но я также заметил использование атрибута "tools:listitem", появляющегося, когда я назначил элемент макета предварительного просмотра для listview, т. е.

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

есть ли еще элементы?

что привело меня к этому пространству имен "инструменты", так это то, что я хочу иметь текст "только для предварительного просмотра" (т. е. в TextView или EditText) при использовании конструктора макетов в eclipse.

В настоящее время я назначаю свойство "текст" или "подсказка" для предварительного просмотра текста при организации моих макетов... но тогда мне всегда нужно помнить, чтобы очистить значение предварительного просмотра из кода.

В идеале, вместо из

<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 ответов


мы только что добавили поддержку атрибутов designtime, как это в Android Studio 0.2.11. См.http://tools.android.com/tips/layout-designtime-attributes Для больше.


вы найдете tool атрибут при установке объекта в графическом макете.

Listview (в графическом режиме) -> щелкните правой кнопкой мыши -> предварительный просмотр содержимого списка -> выберите макет...

выдает:

tools:listitem="@layout/customer_list_item"

думайте о них как о помощниках времени проектирования.Во время выполнения они не обрабатываются в реальном представлении.

например, вы хотите установить фон некоторого представления в дизайне макета при работе на Android studio, чтобы вы могли четко различать, где находится этот конкретный вид.Таким образом, вы обычно делаете это с

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

теперь риск заключается в том, что иногда мы забываем удалить этот цвет, и он поставляется в apk. вместо этого вы можете сделать как следует:

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

эти изменения будут локальными для Android studio и никогда не будут перенесены на apk.

а также проверить http://tools.android.com/tech-docs/tools-attributes Дополнительные параметры.


Android Studio поддерживает различные атрибуты XML в пространстве имен tools, которые позволяют дизайн-функции времени (например, какой макет показывать во фрагменте) или поведение во время компиляции (например, какой режим сжатия применяется к вашим XML-ресурсам)

Namespase составляет

xmlns:tools="http://schemas.android.com/tools"

атрибуты представления времени разработки-следующие атрибуты определяют характеристики макета, которые видны только в макете Android Studio предварительный просмотр.

вы можете использовать tools: вместо android:

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

инструменты: текстовый атрибут устанавливает "Google Voice" в качестве значения для предварительный просмотр макета enter image description here

читать больше

https://developer.android.com/studio/write/tool-attributes.html#design-time_view_attributes

https://gist.github.com/lopspower/b6f80881cb290de38c75

https://android.jlelse.eu/tools-attributes-hidden-gems-of-android-studio-d7451b194e0b