34

根据这里的问题,

Android布局文件中的“工具:上下文”是什么?

'tools' 命名空间引用 (xmlns:tools="http://schemas.android.com/tools") 最近开始出现在我的布局中,我想了解更多。原始帖子仅描述了“工具:上下文”属性,但我也注意到当我为列表视图指定预览布局项时出现“工具:列表项”属性的用法,即

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

还有更多元素吗?

将我带到这个“工具”命名空间的原因是,在 Eclipse 中使用布局设计器时,我希望能够拥有“仅预览”文本(即在 TextView 或 EditText 中)。

目前,我在安排布局时分配“文本”或“提示”属性来预览文本......但我总是必须记住从代码中清除预览值。

理想情况下,而不是

<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 studio 上工作时在布局设计中设置某些视图的背景,以便您可以清楚地区分该特定视图的位置。所以您通常会这样做

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在图形布局中设置对象时会找到属性。

Listview(在图形模式下)->右键单击->预览列表内容->选择布局...

产生:

tools:listitem="@layout/customer_list_item"
于 2012-10-17T17:28:14.090 回答
1

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

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

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

在此处输入图像描述

于 2021-01-23T12:31:53.917 回答