[译]Android Tools属性
来源:互联网 发布:linux 物理内存大小 编辑:程序博客网 时间:2024/05/17 06:02
Android tools属性
https://developer.android.com/studio/write/tool-attributes.html
Android Studio在tools命名空间中支持一些XML属性来开关设计时功能和编译时行为。当构建应用时,编译工具会删除这些属性从而不会影响apk大小和运行行为。
为了使用这些属性,将tools命名空间添加到每个XML文件的根元素,使用方式如下:
<RootTag xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" >
错误处理属性
以下属性帮着过滤lint警告消息。
tools:ignore
目标: 任何元素
使用: Lint
这个属性接收逗号分隔的lint问题ID列表
例如,可以告知tools忽略MissingTranslation错误
<string name="show_all_apps" tools:ignore="MissingTranslation">All</string>
tools:targetApi
目标: 任何元素
使用: Lint
这个属性功能与Java代码中的@TargetApi注解相同:对元素指定支持的API级别。
告知tools,元素只用于指定的或更高的API级别。如果元素或它的属性在指定的minSdkVersion API级别不适用,它将停止lint产生警告。
例如因为GridLayout只适用于API级别14及以上,你可以使用它。
<GridLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:targetApi="14" >
tools:locale
目标: <resources>
使用: Lint, Android Studio编辑器
通知tools给定<resources>元素的默认语言/区域是什么,来避免拼写检查器的警告。该值必须是有效的区域设置限定符。
例如,可在values/strings.xml文件中添加来指定默认字符串的语言是西班牙语而不是英语:
<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="es">
设计时视图属性
以下属性定义了布局特性,这些特性只在Android Studio布局预览时可见。
tools: instead of android:
目标: <View>
使用: Android Studio布局编辑器
在布局预览中,使用前置tools:插入例子数据代替带属性android:。在开发期希望开到布局预览可以使用这个属性。
例如,在运行时设置android:text属性,或者希望查看非默认值得布局,可以添加tools:text来指定布局预览中显示。
可以同时添加android:和tools:命名空间的属性。
也可以使用tools:属性来在布局预览中取消一个属性。
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="First" /><Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Second" tools:visibility="invisible" />
tools:context
目标: 任何根<View>
使用: Lint, Android Studio布局编辑器
这个属性声明布局默认关联的Activity。这使得需要知晓Activity的功能在编辑器或布局预览可用。
可以使用manifest文件中的dot前缀指定Activity类名。
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context=".MainActivity" >
tools:layout
目标: <fragment>
使用: Android Studio布局编辑器
这个属性声明哪个布局在布局预览时画到fragment中。
例如:
<fragment android:name="com.example.master.ItemListFragment" tools:layout="@layout/list_content" />
tools:listitem / tools:listheader / tools:listfooter
目标: <AdapterView>
(<ListView>
的子类)
使用: Android Studio布局编辑器
这个属性指定在布局预览中显示列表的项,头部和尾部的布局。
例如:
<ListView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" tools:listitem="@layout/sample_list_item" tools:listheader="@layout/sample_list_header" tools:listitem="@layout/sample_list_footer" />
注意: 这个属性在Android Studio 2.2对ListView不工作,但在2.3中解决了(问题215172)。
tools:showIn
目的: 布局中的任何根<View>
引用<include>
使用: Android Studio布局编辑器
允许指定一个布局就像include那样,这样可以预览这个文件就像他嵌入到父布局中。
例如:
<TextView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:text="@string/hello_world" android:layout_width="wrap_content" android:layout_height="wrap_content" tools:showIn="@layout/activity_main" />
现在布局预览显示这个TextView布局好像它显示在activity_main不居中。
tools:menu
目的: 任何根<View>
使用: Android Studio布局编辑器
这个属性指定在布局预览的AppBar中显示的菜单。该值可意识1个活多个菜单ID,以逗号分隔。例如:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:menu="menu1,menu2" />
资源压缩属性
以下属性允许启用严格引用检查,并声明在使用资源缩减时是保留还是丢弃某些资源。
为了启动资源压缩,在build.gradle文件中设置shrinkResources为true。
android { ... buildTypes { release { shrinkResources true minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }}
tools:shrinkMode
目标: <resources>
使用: 带资源压缩的构建工具
这个属性允许你指定构建工具是否使用“安全模式”或“严格模式”
模式使用安全模式(shrinkMode="safe"
)。为了使用严格模式,添加shrinkMode="strict"
到<resources>
标签,如下所示:
<?xml version="1.0" encoding="utf-8"?><resources xmlns:tools="http://schemas.android.com/tools" tools:shrinkMode="strict" />
当启用严格模式,需要使用tools:keep来保持那些真实需要但被删除的资源,使用tools:discard来明确删除更多资源。
更多信息,参见压缩资源。
tools:keep
目标: <resources>
使用: 带资源压缩的构建工具
当使用资源压缩来删除无用资源时,这个属性允许保持指定资源。
为了使用它,在资源目录创建一个带<resources>
标签的xml文件,由tools:keep
属性指定每个要保持的资源并以逗号分隔。
<?xml version="1.0" encoding="utf-8"?><resources xmlns:tools="http://schemas.android.com/tools" tools:keep="@layout/used_1,@layout/used_2,@layout/*_3" />
更多信息,参见压缩资源。
tools:discard
目标: <resources>
使用: 带资源压缩的构建工具
当使用资源压缩来删除无用资源时,这个资源允许手动指定要丢弃的资源。
为了使用它,在资源目录创建一个带<resources>
标签的xml文件,由tools:keep
属性指定每个要丢弃的资源并以逗号分隔。
<?xml version="1.0" encoding="utf-8"?><resources xmlns:tools="http://schemas.android.com/tools" tools:discard="@layout/unused_1" />
更多信息,参见压缩资源。
- [译]Android Tools属性
- android中Tools属性
- Android Tools 属性介绍
- android中xml tools属性
- [Android] Android中xml tools属性详解
- android中xml tools属性详解
- android中xml tools属性详解
- android 布局xml文件中的 tools 属性
- android中xml tools属性详解
- android中xml tools属性详解
- android中xml tools属性详解
- android中xml tools属性详解
- android中xml tools属性详解
- android中xml tools属性详解
- android中xml tools属性详解
- android中xml tools属性详解
- android中xmlns:tools属性详解
- android中xml tools属性详解
- 变步长辛普森求数值积分
- Django 模板复用include
- linux的一些常用命令
- oracle RECORD 示例
- springmvc+mybatis+spring 整合SSM
- [译]Android Tools属性
- VPP 学习资料汇总
- 浅谈工厂用低压油变压器的小修项目及要求
- Git
- HDU 1789 Doing Homework again 贪心 DP
- MySQL大表优化方案
- 内存管理机制 Thread 1:EXC_BAD_ACCESS(code=EXC_I386_GPFLT)错误
- MvvmLight CanExecute不能更新界面解决
- 为什么软件需求这么难?