Android tools属性
https://developer.android.com/studio/write/tool-attributes.html
Android Studio在tools命名空间中支持一些XML属性来开关设计时功能和编译时行为。当构建应用时,编译工具会删除这些属性从而不会影响apk大小和运行行为。
为了使用这些属性,将tools命名空间添加到每个XML文件的根元素,使用方式如下:
以下属性帮着过滤lint警告消息。
tools:ignore
目标: 任何元素
使用: Lint
这个属性接收逗号分隔的lint问题ID列表
例如,可以告知tools忽略MissingTranslation错误
tools:targetApi
目标: 任何元素
使用: Lint
这个属性功能与Java代码中的@TargetApi注解相同:对元素指定支持的API级别。
告知tools,元素只用于指定的或更高的API级别。如果元素或它的属性在指定的minSdkVersion API级别不适用,它将停止lint产生警告。
例如因为GridLayout只适用于API级别14及以上,你可以使用它。
tools:locale
目标:
使用: Lint, Android Studio编辑器
通知tools给定<resources>元素的默认语言/区域是什么,来避免拼写检查器的警告。该值必须是有效的区域设置限定符。
例如,可在values/strings.xml文件中添加来指定默认字符串的语言是西班牙语而不是英语:
以下属性定义了布局特性,这些特性只在Android Studio布局预览时可见。
tools: instead of android:
tools:context
tools:layout
目标:
使用: Android Studio布局编辑器
这个属性声明哪个布局在布局预览时画到fragment中。
例如:
tools:listitem / tools:listheader / tools:listfooter
目标: (的子类)
使用: Android Studio布局编辑器
这个属性指定在布局预览中显示列表的项,头部和尾部的布局。
例如:
注意: 这个属性在Android Studio 2.2对ListView不工作,但在2.3中解决了(问题215172)。
tools:showIn
目的: 布局中的任何根引用
使用: Android Studio布局编辑器
允许指定一个布局就像include那样,这样可以预览这个文件就像他嵌入到父布局中。
例如:
现在布局预览显示这个TextView布局好像它显示在activity_main不居中。
tools:menu
目的: 任何根
使用: Android Studio布局编辑器
这个属性指定在布局预览的AppBar中显示的菜单。该值可意识1个活多个菜单ID,以逗号分隔。例如:
以下属性允许启用严格引用检查,并声明在使用资源缩减时是保留还是丢弃某些资源。
为了启动资源压缩,在build.gradle文件中设置shrinkResources为true。
tools:shrinkMode
目标:
使用: 带资源压缩的构建工具
这个属性允许你指定构建工具是否使用“安全模式”或“严格模式”
模式使用安全模式()。为了使用严格模式,添加到标签,如下所示:
当启用严格模式,需要使用tools:keep来保持那些真实需要但被删除的资源,使用tools:discard来明确删除更多资源。
更多信息,参见压缩资源。
tools:keep
目标:
使用: 带资源压缩的构建工具
当使用资源压缩来删除无用资源时,这个属性允许保持指定资源。
为了使用它,在资源目录创建一个带标签的xml文件,由属性指定每个要保持的资源并以逗号分隔。
更多信息,参见压缩资源。
tools:discard
目标:
使用: 带资源压缩的构建工具
当使用资源压缩来删除无用资源时,这个资源允许手动指定要丢弃的资源。
为了使用它,在资源目录创建一个带标签的xml文件,由属性指定每个要丢弃的资源并以逗号分隔。