与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的项目等等?
这是工具UI编辑器使用渲染你的布局预览活动。 据记载这里 :
此属性声明该活动此布局与默认关联。 这使得在编辑器或布局预览需要活动的知识,如布局主题应该是在预览什么和在哪里插入onclick处理功能,当你做那些从的quickfix
该属性是基本上为“相关联的活动”选择布局上方的持久性。 在运行时,布局总是与活动相关联。 它当然可以用多个,但至少有一个关联。 在工具中,我们需要知道关于该映射(其在运行时在另一个方向上发生;一个活动可以调用的setContentView(布局)来显示的布局),以便驱动特定功能。
现在,我们正在使用它的只有一两件事:选择正确的主题,以示对布局(因为清单文件可以注册主题使用的活动 ,一旦我们知道与布局相关的活动,我们可以挑选正确的主题,以示对布局)。 在未来,我们将使用这个驱动附加功能 - 例如渲染操作栏(这是与活动相关联),一个地方加入onclick处理等。
究其原因,这是一个工具:namespace属性是,这仅仅是由工具使用的设计时映射。 布局本身可以通过多种活动/片段等可以使用我们只是想给你一个方法来选择一个设计时绑定,这样我们可以为例如显示正确的主题; 你可以在任何时候改变它,就像你可以改变我们的ListView和片段绑定等。
(这里是这对更详细信息的完整变更本 )
和是的, 链接上面列出尼古拉显示了新的配置选择器的外观和作业
还有一两件事:在“工具”命名空间是特殊的。 Android的包装工具知道忽略它,所以没有这些属性将被打包成APK。 我们使用它在布局额外的元数据。 这也是其中例如属性禁止lint警告存 - 作为工具:忽略。
按照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中,林特布局编辑器:通过使用
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:text
中TextView
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
综上所述,这些特性主要是针对合适的工具上面,仿真调试时间显示状态,并编制不工作,
“工具:上下文”的设计特性,可以方便布局在创作中的XML开发框架之一。 这个属性是用来显示开发框架拾取实施布局什么活动类。 使用“工具:背景”,那么Android Studio会自动选择所需的主题为预览。
如果您想了解更多关于Android应用程序开发一些其他的属性和有用的工具,看看在本次审查: http://cases.azoft.com/4-must-know-tools-for-effective-android -发展/
这是最好的解决办法: 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
tools:context=".MainActivity"
thisline在XML文件中使用,其指示哪个Java源文件是用来访问此XML文件。 这意味着显示perticular Java文件这个XML预览。