什么是图形布局编辑器的"片段提供上下文"下拉用于?

Jef*_*rod 3 layout android adt android-layout graphical-layout-editor

主题下拉旁边有一个下拉菜单; 其悬停文本显示"相关活动或片段提供上下文".

在图形布局编辑器文档中未描述(或显示)此(新)窗口小部件.

我假设这是一个通常显示此视图的活动或片段.但是布局编辑器对这些信息做了什么?它可以以某种方式用于预览动作栏自定义吗?

在此输入图像描述

Jef*_*rod 6

Android的工具,博客记录,如下所示:

我们添加了一个新菜单:活动选择器.这使您可以选择要用于此布局的活动上下文:

在此输入图像描述

当您第一次打开布局时,我们会尝试猜测正确的布局(通过查看您的活动类并查看它们引用的布局),但您可以在此处选择其他活动.在您为清单文件中的活动分配主题的情况下,与布局关联的活动用于选择要呈现的主题.您还可以通过选择"打开活动名称"在Java编辑器中打开活动.将来我们还将使用活动< - >布局关联来驱动其他功能.

我注意到在更改此值后,新tools:context属性被添加到XML中的顶级元素,这使我得到了相关的问题和答案.我还输入了一份文档错误报告,要求将其包含在文档中.

该属性基本上是布局上方"关联活动"选择的持久性.在运行时,布局始终与活动相关联.它当然可以与多个,但至少一个相关联.在该工具中,我们需要知道这个映射(在运行时发生在另一个方向;一个活动可以调用setContentView(布局)来显示布局)以驱动某些功能.

现在,我们只将它用于一件事:选择正确的主题来显示布局(因为清单文件可以注册用于活动的主题,一旦我们知道与布局相关的活动,我们就可以选择正确的主题显示布局).将来,我们将使用它来驱动其他功能 - 例如渲染操作栏(与活动相关联),添加onClick处理程序的位置等.

这是一个工具:namespace属性的原因是这只是工具使用的设计时映射.布局本身可以被多个活动/片段等使用.我们只想给你一种方法来选择一个设计时绑定,以便我们可以显示正确的主题; 您可以随时更改它,就像您可以更改我们的列表视图和片段绑定等.

(这是完整的变更集,其中包含更多详细信息:https: //android-review.googlesource.com/#/c/36273/)

是的,上面列出的Nikolay链接显示了新配置选择器的外观和工作方式:http: //tools.android.com/recent/newconfigchooser

还有一件事:"工具"命名空间是特殊的.android打包工具知道忽略它,因此这些属性都不会被打包到APK中.我们将它用于布局中的额外元数据.它也是存储抑制lint警告的属性的地方 - 作为工具:忽略.