Android 布局文件中的 “tools:context” 是什么?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    tools:context=".MainActivity" />

答案

这是 UI 编辑器用来渲染布局预览的工具。它记录在这里

此属性声明此布局默认与哪个活动关联。这样可以启用需要了解活动的知识的编辑器或布局预览中的功能,例如,在快速修复中制作布局主题时预览中应包含的布局主题以及在何处插入 onClick 处理程序。

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

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

这是一个工具的原因:名称空间属性是,这仅是该工具使用的设计时映射。布局本身可以被多个活动 / 片段等使用。我们只想给您一种选择设计时绑定的方式,例如,我们可以显示正确的主题。您可以随时更改它,就像可以更改我们的列表视图和片段绑定等一样。

(这里是这对更详细信息的完整变更

是的,上面列出的链接 Nikolay 显示了新配置选择器的外观和工作方式

还有一件事:“工具” 名称空间很特殊。 android 打包工具知道会忽略它,因此这些属性都不会打包到 APK 中。我们将其用于布局中的额外元数据。例如,它也是在其中存储抑制棉绒警告的属性 - 作为 tools:ignore。

<android.support.v7.widget.GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"    
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">
<TextView
    android:id="@+id/text1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="sample name1" />

<TextView
    android:id="@+id/text2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    tools:text="sample name2" />

“工具:上下文” 是设计属性之一,可以促进在开发框架中以 XML 创建布局。此属性用于向开发框架显示为实现布局选择了哪些活动类。使用 “tools:context”,Android Studio 自动为预览选择必要的主题。

如果您想了解更多有关 Android 应用程序开发的其他属性和有用工具的信息,请查看此评论: http : //cases.azoft.com/4-must-know-tools-for-effective-android - 发展 /

tools:context=".activity.ActivityName"
tools:context="com.PackegaName.AdapterName"
tools:text=""
tools:visibility:""
tools:listItems=""//for recycler view

tools:context=".MainActivity"行在 xml 文件中使用,指示使用哪个 java 源文件访问该 xml 文件。这意味着显示此 xml 预览以显示特定的 java 文件。