Android中tools属性的使用
一、概述
Android Studio在
tools
命名空间中支持一些XML属性来开关设计功能和编译时行为。当构建应用时,构建工具会删除这些属性,从而不会影响APK的大小和运行行为。
二、引入tools
命名空间
三、XML视图预览相关属性
1. tools:
替代android:
示例1:预览时展示指定文本。
tools_text.png示例2:tools:text
和android:text
同时存在,在预览时tools:text
属性会覆盖android:text
属性。
2. tools:context
声明该布局文件默认关联的Activity,这样可以在预览的时候就知道展示的主题,并且知道在哪插入onClick
对应的处理事件。
示例1:为Activity指定主题
tools_context_theme.png示例2:快速创建onClick
的事件处理方法
3. tools:itemCount
用在RecyclerView
用来指定预览几项
4. tools:layout
这个属性用来声明这个fragment内部所加载展示的布局
tools_layout.png5. tools:listitem
用在ListView用来指定其item的布局
tools_listitem.png6. tools:showIn
指定这个View被
到哪个layout中
7.@tools:sample/*
资源
为View设置占位文本或图片
tools_sample_resource.png属性值 | 描述 |
---|---|
@tools:sample/full_names | 姓名 |
@tools:sample/date/ddmmyy | 日期 |
@tools:sample/avatars | 头像 |
@tools:sample/backgrounds/scenicb | 背景图 |
四、资源压缩相关属性
开启资源压缩
android { ... buildTypes { release { shrinkResources true // 开启资源压缩。minifyEnabled也必须为true,否则编译不通过 minifyEnabled true // 开启代码混淆/压缩 proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}
1. tools:shrinkMode
这个属性允许你指定构建工具是否使用“安全模式”(shrinkMode="safe"
)或“严格模式”(shrinkMode="strict"
)
<?xml version="1.0" encoding="utf-8"?>
当启用严格模式,需要使用tools:keep
来保持那些真实需要但又被删除的资源,使用tools:discard
来明确删除更多的资源
2. tools:keep
这个属性允许你指定那些运行时间接引用的资源。例如动态生成的资源名称传递给Resources.getIdentifier()
可以创建一个XML文件,如res/raw/keep.xml
,以
为根标签
<?xml version="1.0" encoding="utf-8"?>
3. tools:discard
这个属性允许你手动指定需要被删除的资源。(一般因为资源被引用但是没有作用于app,或者因为Gradle插件的误报这个资源被引用)
<?xml version="1.0" encoding="utf-8"?>
五、错误处理相关属性
以下属性用于过滤Lint
警告消息
1. tools:ignore
该属性可以作用于任何元素,接受逗号分隔的lint Issue列表。
示例:如果对文本进行硬编码时,XML代码将会变黄;添加tools:ignore="HardcodedText"
即可让lint忽略警告
2. tools:targetApi
指明某个控件只在指定的API 及更高的版本中生效。这样,在使用 Lint 检测时就不会因 minSdkVersion 低于控件出现的版本而报错。
3. tools:locale
指明 resources 中元素的语言类型,避免拼写检查或者Lint 检查时报错。
例如,可以添加到values/strings.xml
参考链接
- Tools attributes reference
- Android:Tools命名空间原来是有大用处的
coding_frontline.jpeg
更多相关文章
- "Android中的动画"-Android面试必问"精华技能点"汇总
- android activity 属性解释
- 【Android】第4章(5) 示例--列出手机上的所有联系人
- android之调用系统自带资源的两种方式
- Android读取jar包中assets资源文件
- android简单demo学习系例之排版(TableLayout)[xml-based]
- 1. 0 Android(安卓)开发中的界面编程
- 《阿里巴巴Android开发手册》v1.0.1更新,优化部分内容和示例代码
- 优化技术之Android(安卓)UI优化