布局xml文档中的Android“工具”命名空间

时间:2012-07-25 01:04:13

标签: android-layout namespaces textview preview

根据这里的问题,

What's "tools:context" in Android layout files?

'tools'命名空间引用(xmlns:tools =“http://schemas.android.com/tools”)最近已经开始出现在我的布局中,我想知道更多。原帖只描述了'tools:context'属性,但我也注意到在为listview指定预览布局项时出现了“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>

谢谢 -

5 个答案:

答案 0 :(得分:20)

我们刚刚在Android Studio 0.2.11中添加了对此类设计时属性的支持。有关详情,请参阅http://tools.android.com/tips/layout-designtime-attributes

答案 1 :(得分:7)

将它们视为设计时助手。它们不会在运行时在实际视图渲染中得到处理。

例如,你想在android studio上设置一些视图的背景,以便你可以清楚地区分特定视图的位置。所以你通常会用

来做到这一点。
android:background="@color/<some-color>"

现在的风险是,有时我们忘记删除该颜色,它会在apk中发布。 相反,你可以这样做:

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

这些更改将是android studio的本地更改,永远不会转移到apk。

并查看http://tools.android.com/tech-docs/tools-attributes了解更多选项。

答案 2 :(得分:6)

在图形布局中设置对象时,您将找到tool属性。

Listview(以图形模式) - &gt;右键单击 - &gt;预览列表内容 - &gt;选择布局...

产生:

tools:listitem="@layout/customer_list_item"

答案 3 :(得分:1)

请参阅下面的布局 XML。有 2 个命名空间正在使用“xmlns:android”和“xmlns:tools”。

Tools 命名空间用于当开发人员想要定义仅在预览或设计时使用的占位符内容时。编译应用程序时,工具命名空间被删除。

因此在下面的代码中,我想显示仅在设计时可见的占位符图像 (image_empty),而 image1 将显示将显示的实际图像应用启动时显示

enter image description here

答案 4 :(得分:0)

Android Studio支持工具命名空间中的各种XML属性,可启用设计时功能(例如在片段中显示哪种布局)或编译时行为(例如应用于XML资源的缩小模式)

Namespase是

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

设计时视图属性 - 以下属性定义仅在Android Studio布局预览中可见的布局特征

您可以使用tools:代替android:

例如,如果在运行时设置了android:text属性值,或者您想要查看值与默认值不同的布局,则可以添加工具: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