什么是:在Android的布局文件“工具语境”?什么是:在Android的布局文件“工具语境”?(W

2019-06-02 11:26发布

与ADT的近期新版本开始,我注意到在布局XML文件这个新属性,例如:

<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" />

什么是“工具:上下文”用于?

它是如何知道该写有活动的确切路径? 它看起来在包装上的应用程序,清单里面?

难道仅限于扩展上下文或仅活动课? 它是可用于ListView的项目等等?

Answer 1:

这是工具UI编辑器使用渲染你的布局预览活动。 据记载这里 :

此属性声明该活动此布局与默认关联。 这使得在编辑器或布局预览需要活动的知识,如布局主题应该是在预览什么和在哪里插入onclick处理功能,当你做那些从的quickfix



Answer 2:

该属性是基本上为“相关联的活动”选择布局上方的持久性。 在运行时,布局总是与活动相关联。 它当然可以用多个,但至少有一个关联。 在工具中,我们需要知道关于该映射(其在运行时在另一个方向上发生;一个活动可以调用的setContentView(布局)来显示的布局),以便驱动特定功能。

现在,我们正在使用它的只有一两件事:选择正确的主题,以示对布局(因为清单文件可以注册主题使用的活动 ,一旦我们知道与布局相关的活动,我们可以挑选正确的主题,以示对布局)。 在未来,我们将使用这个驱动附加功能 - 例如渲染操作栏(这是与活动相关联),一个地方加入onclick处理等。

究其原因,这是一个工具:namespace属性是,这仅仅是由工具使用的设计时映射。 布局本身可以通过多种活动/片段等可以使用我们只是想给你一个方法来选择一个设计时绑定,这样我们可以为例如显示正确的主题; 你可以在任何时候改变它,就像你可以改变我们的ListView和片段绑定等。

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

和是的, 链接上面列出尼古拉显示了新的配置选择器的外观和作业

还有一两件事:在“工具”命名空间是特殊的。 Android的包装工具知道忽略它,所以没有这些属性将被打包成APK。 我们使用它在布局额外的元数据。 这也是其中例如属性禁止lint警告存 - 作为工具:忽略。



Answer 3:

按照Android的工具,项目地址 :

工具:上下文

该属性通常被设置在一个布局XML文件的根元素上,并且其活性的布局与相关联的记录(在设计时,由于明显的布局可以由多于一个的布局中使用)。 这将例如通过布局编辑器来猜一个默认的主题,因为主题是在清单中定义,并与活动,而不是布局有关。 您可以使用相同的点前缀,如清单只是指定活动类不完整的应用程序包名作为前缀。

<android.support.v7.widget.GridLayout
    xmlns:android="http://schemas.android.com/apk/res/android"    
    xmlns:tools="http://schemas.android.com/tools"
    tools:context=".MainActivity">  

在Studio和Eclipse中,林特布局编辑器:通过使用



Answer 4:

1.Description

tools: context = "activity name"它不会被打包进apk 。只有ADT布局编辑器在当前的版式文件组相应的渲染上下文,显示您当前的布局渲染上下文是活动名称对应的活动,如果在活动manifest文件中设置一个主题,然后ADT布局编辑器将根据Theme.Means,如果你设置的渲染你的当前布局MainActivity设定一个主题。 的光(其它),然后你的应该是什么主题的视觉布局管理器O背景控制看。 光看着like.Only向你展示你所看到的就是你得到的结果。

有些人看到就会明白一些,有些人看到了也不知道,我会添加解释几句:

2.Sample

举个简单的tools:text ,例如,一些图像,方便进一步了解tools:context

<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" />

TextView 1所采用的android: text ,并使用tools:textTextView 2,在布局编辑器的右侧会显示sample name1中, sample name2两种字体,如果您运行的代码进行编译后,生成apk ,终端只显示sample name1 ,不显示sample name2词语的 你可以尝试运行,看看效果。

3.Specific描述

1. tools: context = "activity name"它不会被打包成apk (理解:这相当于被注释掉,编译没有影响。)

2.仅ADT布局编辑器(即,用于在模拟器上的右侧上面的图标)对应渲染上下文的当前布局文件集,在渲染方面的当前XML的布局是活动名称对应于活动,如果在清单文件中的活动设置一个主题,然后ADT布局编辑器将根据Theme.Means,如果你设置的渲染你的当前布局MainActivity设定一个主题。 该灯也可以是(其他)(明白:你添加的tools: context = "activity name" ,在XML布局呈现指定活动,建立在清单文件中的主题,右上模拟器主题风格也将跟着相应的变化合照该主题。)

4.summary

综上所述,这些特性主要是针对合适的工具上面,仿真调试时间显示状态,并编制不工作,



Answer 5:

“工具:上下文”的设计特性,可以方便布局在创作中的XML开发框架之一。 这个属性是用来显示开发框架拾取实施布局什么活动类。 使用“工具:背景”,那么Android Studio会自动选择所需的主题为预览。

如果您想了解更多关于Android应用程序开发一些其他的属性和有用的工具,看看在本次审查: http://cases.azoft.com/4-must-know-tools-for-effective-android -发展/



Answer 6:

这是最好的解决办法: https://developer.android.com/studio/write/tool-attributes

这是设计的属性,我们可以在XML设置activty像背景

tools:context=".activity.ActivityName"

适配器:

tools:context="com.PackegaName.AdapterName"

上标记的图标,点击时,您可以导航到java类和工具有更多的功能,如

tools:text=""
tools:visibility:""
tools:listItems=""//for recycler view 

ETX



Answer 7:

tools:context=".MainActivity" thisline在XML文件中使用,其指示哪个Java源文件是用来访问此XML文件。 这意味着显示perticular Java文件这个XML预览。



文章来源: What's “tools:context” in Android layout files?