Tools命名空间属性说明
tools:node
tools:node =“merge” 全部合并 tools:node =“merge-only-attributes” 仅合并属性,内部节点移除 tools:node =“remove” 移除该节点 tools:node =“removeAll” 移除同一个父节点下所有同类型节点 tools:node =“replace” 完全替换 tools:node =“strict” 不匹配,构建失败
tools:remove
tools:remove =“attr1,attr2” 比如 tools:remove =“android:theme ,android:windowSoftInputMode ”
tools:strict
tools:strict =“attr1,attr2” 比如 tools:strict =“android:screenOrientation ”
tools:selector
tools:selector =“packageName” 选择器,结合其他tools标记使用,比如
<permission android:name="com.example.MY_PERMISSION_0" tools:node="remove" tools:selector="com.example.submodule.p1" />tools:overrideLibrary
tools:overrideLibrary 覆盖
<uses-sdk tools:overrideLibrary="com.example.lib1, com.example.lib2"/>tools:ignore
tools:ignore =“attr1,attr2” 忽略属性
<string name="show_all_apps" tools:ignore="MissingTranslation">All</string><ImageView tools:ignore="contentDescription" /><FrameLayout tools:ignore="all" /><FrameLayout tools:ignore="UnusedResources,NewApi,StringFormatInvalid" /> 根节点添加,如果该xml资源未使用不提示tools:targetApi
tools:targetApi =“14” tools:targetApi =“ice_cream_sandwich” 目标平台版本
<GridLayout tools:targetApi="ice_cream_sandwich"/>tools:locale
tools:locale 指定时区,只能加给resources节点
<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="zh">tools:shrinkMode
tools:shrinkMode 指定资源压缩模式,只能加给resources节点,需要build.gradle中android.buildTypes.release.shrinkResources = true tools:shrinkMode =“safe”默认 tools:shrinkMode =“strict” res/raw/keep.xml
<resources xmlns:tools="http://schemas.android.com/tools" tools:shrinkMode="strict">tools:keep & tools:discard
以下两个结合tools:shrinkMode =“strict”使用 tools:keep =“references” 保留 tools:keep =“@layout/list_item_,@menu/main_menus” tools:discard =“references” 移除 tools:discard =“@layout/unused”
tools:parentTag
tools:parentTag 父标签类型,结合merge使用
<merge xmlns:tools="http://schemas.android.com/tools" tools:parentTag="android.widget.LinearLayout"/>tools:context
tools:context =“com.example.XXXActivity” 指定当前关联上下文,只能在根节点添加
list
tools:itemCount =“20” tools:listheader =“@layout/list_header_0” 指定表头,仅AdapterView有效 tools:listitem =“@layout/list_item_0” tools:listfooter =“@layout/list_footer_0” 指定表尾,仅AdapterView有效
tools:layout
tools:layout =“@layout/some_layout”
tools:showIn
tools:showIn =“@layout/some_parent_layout” 在哪个布局中展示,通过include引入的布局的根节点添加
tools:menu
tools:menu =“menu1,menu2” 指定工具栏菜单,根节点添加
tools:actionBarNavMode
ActionBar显示模式 tools:actionBarNavMode =“standard” tools:actionBarNavMode =“tabs” tools:actionBarNavMode =“list”
NumberPicker
NumberPicker的最大最小值 tools:minValue tools:maxValue
DrawerLayout
tools:openDrawer =“start” tools:openDrawer =“end” tools:openDrawer =“left” tools:openDrawer =“right” <androidx.drawerlayout.DrawerLayout tools:openDrawer =“end”/>
TextView
tools:text @tools:sample /*
@tools:sample
@tools:sample /full_names @tools:sample /first_names @tools:sample /last_names @tools:sample /cities @tools:sample /us_zipcodes @tools:sample /us_phones @tools:sample /lorem/random @tools:sample /date/day_of_week @tools:sample /date/ddmmyy @tools:sample /date/mmddyy @tools:sample /date/hhmm @tools:sample /date/hhmmss @tools:sample /avatars — drawables @tools:sample /backgrounds/scenic — backgrounds
sampledata
app/sampledata/names
ImageView
tools:src app/sampledata/avatars app/sampledata/avatars/avatar_1.xml app/sampledata/avatars/avatar_2.xml app/sampledata/avatars/avatar_3.xml app/sampledata/avatars/avatar_4.xml
app/sampledata/users.json
{ "data": [ { "city": "Hemel Hempstead, Hertfordshire, UK", "avatar": "@sample/avatars" }, { "city": "Brokenwind, Aberdeenshire, UK", "avatar": "@sample/avatars" }, { "city": "Málaga, España", "avatar": "@sample/avatars" }, { "city": "Batchelors Bump, Essex, UK", "avatar": "@sample/avatars" } ]}<TextView tools:text="@sample/users.json/data/city"/><ImageView tools:text="@sample/users.json/data/avatar"/>