从最近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" />
“工具:上下文”的用途是什么?
它怎么知道写在那里的活动的确切路径?它会查看manifest里面的应用程序包吗?
它局限于扩展Context的类还是仅仅局限于活动?它对ListView项目等有用吗?
根据Android工具项目网站:
工具:上下文
This attribute is typically set on the root element in a layout XML file, and records which activity the layout is associated with (at designtime, since obviously a layout can be used by more than one layout). This will for example be used by the layout editor to guess a default theme, since themes are defined in the Manifest and are associated with activities, not layouts. You can use the same dot prefix as in manifests to just specify the activity class without the full application package name as a prefix.
<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中的布局编辑器,Lint
这是最好的解决方案:
https://developer.android.com/studio/write/tool-attributes
这是设计属性
我们可以像这样在XML中设置活动上下文
tools:context=".activity.ActivityName"
适配器:
tools:context="com.PackegaName.AdapterName"
单击标记的图标可以导航到java类
工具有更多的功能
tools:text=""
tools:visibility:""
tools:listItems=""//for recycler view
etx
根据Android工具项目网站:
工具:上下文
This attribute is typically set on the root element in a layout XML file, and records which activity the layout is associated with (at designtime, since obviously a layout can be used by more than one layout). This will for example be used by the layout editor to guess a default theme, since themes are defined in the Manifest and are associated with activities, not layouts. You can use the same dot prefix as in manifests to just specify the activity class without the full application package name as a prefix.
<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中的布局编辑器,Lint