在父级布局中引入tools:context的原因是什么?

时间:2018-09-30 15:21:55

标签: android android-layout android-studio android-fragments android-activity

Android Studio默认在为片段和活动创建的布局中添加tools:context行,并将其放置在活动/片段的父布局中。

我想知道什么是用法,如果我删除此行,会在子布局中引起任何问题吗?

2 个答案:

答案 0 :(得分:2)

工具支持的属性可以启用设计时功能,例如tools:context =“。Mainactivity”会告诉您当前xml属于哪个布局。如果您想使用仅在设计时可用的示例数据显示ui的占位符-例如显示一个列表,每一行都有一个图像-您可以使用available tools属性并查看列表视图在设计时的外观,而无需必须实际运行该应用程序。它仅用于设计,不会影响您运行应用程序的时间。

有关同一https://developer.android.com/studio/write/tool-attributes的更多信息。

  

我想知道什么是用法,它将对孩子造成任何问题   布局,如果我删除此行?

应该没事。不用担心。

答案 1 :(得分:1)

tools命名空间中的任何内容都对运行时没有影响。它就在那里,因此IDE知道应该发生什么,并且Design View可以显示示例数据。

tools:context字段遵循相同的逻辑。

您可能知道XML for Views中的android:onCick字段,您可以在其中执行以下操作:

<View
    android:onClick="someFunction"
/>

这是context字段的输入。如果删除该字段并具有XML定义的onClick函数,则IDE会抱怨未定义someFunction。可以很好地进行编译,但是除非您使用tools:context字段,否则IDE无法知道该函数在父Activity中是否确实存在。