本文译自androd官方技术文档《Tools Attributes》:http://tools.android.com/tech-docs/tools-attributes

本文地址:http://blog.csdn.net/maosidiaoxian/article/details/41510581。转载请注明出处。翻译如有错讹,敬请指正。

工具属性

Android 有一个专用的XML命名空间,用于使工具可以记录XML文件里的信息,并且在打包程序的进行把信息剥离到不会带来运行时期和下载大小的负面影响的程度。 这个命名空间的 URI 是 http://schemas.android.com/tools,并且它通常被绑定到 tools: 前缀中:



<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    ....
这份文档记录了我们当前使用的工具属性。(注: 这些属性可能会随着时间在以后中改变。)

tools:ignore

此属性可以在任何 XML 元素上设置,它是一个逗号分割的lint 问题ID的列表,表示了应该要在此元素或它的任何子元素上递归忽略的lint问题的ID。
<string name="show_all_apps" tools:ignore="MissingTranslation">All</string>

使用:
Lint


tools:targetApi

此属性像
Java 类中的 @TargetApi 批注解一样: 它允许您指定一个 API 级别,可以是整数或代码名称,表示此元素需要在此级别之上运行。

    <GridLayout tools:targetApi="ICE_CREAM_SANDWICH" >

使用: Lint


tools:locale

此属性可以设置在资源文件的根元素上,并且应该对应于一种语言或一个地区。这会让工具知道文件的字符串被假定为哪种语言(区域)中的。例如, values/strings.xml 可以有此根元素:

<resources xmlns:tools="http://schemas.android.com/tools" tools:locale="es">
现在我们知道默认值文件夹中的字符串用的语言是西班牙语,而不是英语。

使用:
Lint, Studio (以在非英语资源文件中禁用拼写检查)


tools:context

这个属性通常在一个布局XML文件的根元素中设置,记录了这个布局关联到哪一个activity(因为显然一个布局在设计时可以被多个布局使用)(例如它会用于布局编辑器中以推断默认的主题,由于主题定义在Manifest中,并与activity而不是布局相关联。你可以和在manifests中一样使用点前缀,来指定activity类,而不需要使用完整的程序包名作为前缀。
<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


tools:layout

此属性通常设置在一个 <fragment> 标签中,用来记录在设计时你想看到渲染的布局 (在运行时,将由这个标签所列的fragment的类的操作所决定)。
<fragment android:name="com.example.master.ItemListFragment" tools:layout="@android:layout/list_content" />

使用:
Studio 和 Eclipse的布局编辑器


tools:listitem / listheader / listfooter

这些属性可用于在设计时的 <ListView>(或其他 AdapterView 的子类,比如 <GridView>,<ExpandableListView>等) 来指定布局使用的列表项,以及列表头部和列表底部。该工具将填充假的数据,以显示一个有一些类似内容的列表。
    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:listitem="@android:layout/simple_list_item_2" />

使用:
Studio 和 Eclipse的布局编辑器


tools:showIn

该属性设置于一个被其他布局<include>的布局的根元素上。这让您可以指向包含此布局的其中一个布局,在设计时这个被包含的布局会带着周围的外部布局被渲染。这将允许您“在上下文中”查看和编辑这个布局。需要 Studio 0.5.8 或更高版本。更多信息请参阅发布声明
<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" />
使用:Studio 的布局编辑器

tools:menu

这个属性在布局的根元素上设置,用于配置在 Action Bar中显示的菜单。Android Studio 通过查看这个布局文件所链接的activity(通过 tools:context)里的onCreateOptionsMenu()方法,尝试找出哪些菜单在 ActionBar 中使用。它允许您重写哪个搜索和显示声明的菜单用于显示。它的值是逗号分隔的
id 列表 (没有 @id/ 或任何这类前缀)。您还可以使用没有.xml 扩展名的菜单xml文件的名称。需要 Studio 0.8.0 或更高版本。
<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" />
使用:Studio 的布局编辑器

tools:actionBarNavMode

这个属性在布局的根元素上设置,用于配置 Action Bar 使用的 导航模式。可能的值包括:“"standard”,“list”和“tabs”。需要
Studio 0.8.0 或更高版本。
<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:actionBarNavMode="tabs" />
使用:Studio 的布局编辑器

其他属性: 设计时属性

在布局中,任何其他属性可以是一个内置的
Android 属性别名。例如,这可以让您设置仅设计时的替换文字,用于工具中而不是运行时。详细信息,请参阅设计时布局属性

android官方技术文档翻译——工具属性的更多相关文章

  1. Android官方技术文档翻译——Gradle 插件用户指南(5)

    昨晚把第五章未译完的几句话攻克了.只是第六章没怎么译,明后天又是周末,假设周一前第六章翻译完的话,周一再发第六章. 本文译自Android官方技术文档<Gradle Plugin User Gu ...

  2. Android官方技术文档翻译——Gradle 插件用户指南(7)

    本文译自Android官方技术文档<Gradle Plugin User Guide>,原文地址:http://tools.android.com/tech-docs/new-build- ...

  3. Android官方技术文档翻译——Gradle 插件用户指南(6)

    没想到翻译这篇<Gradle 插件用户指南>拖了差不多一个月,还跨年了.不过还好,在2号时终于一口气把剩下的给翻译完了(其实那天剩下的也就不到一章). 今天先发一下第六章,明天再发第七章. ...

  4. Android官方技术文档翻译——Gradle 插件用户指南(4)

    最近赶项目,白天基本没时间,只有晚上在家的时候才能看一看.昨天晚上只翻译完了第四章,今天就只发第四章吧. 本文译自Android官方技术文档<Gradle Plugin User Guide&g ...

  5. Android官方技术文档翻译——开发工具的构建概述

    本文译自Android官方技术文档<Build Overview>,原文地址:http://tools.android.com/build. 因为<Android Lint Chec ...

  6. Android官方技术文档翻译——Gradle 插件用户指南(1-3)

    不知道是什么网络问题,上午一直发不了博客,其它页面基本正常,就是在写博客这里,每次打开都是响应超时.刚才用了VPN,顺便试了一下,竟然能够编辑.想是CDN之类的问题吧. 这次翻译的是Gradle 插件 ...

  7. Android官方技术文档翻译——清单合并

    本文译自Android官方技术文档<Manifest Merger>,原文地址:http://tools.android.com/tech-docs/new-build-system/us ...

  8. Android官方技术文档翻译——新构建系统概述

    本文译自Android官方技术文档<New Build System>,原文地址:http://tools.android.com/tech-docs/new-build-system. ...

  9. Android官方技术文档翻译——Ant 任务

    本文译自Android官方技术文档<Ant Tasks>,原文地址:http://tools.android.com/tech-docs/ant-tasks. 由于是抽着时间译的.所以这篇 ...

随机推荐

  1. 深入浅出低功耗蓝牙(BLE)协议栈

    深入浅出低功耗蓝牙(BLE)协议栈 BLE协议栈为什么要分层?怎么理解蓝牙"连接"?如果蓝牙协议只有ATT没有GATT会发生什么? 协议栈框架 一般而言,我们把某个协议的实现代码称 ...

  2. Bootstrap3 表单-被支持的控件:输入框

    输入框包括大部分表单控件.文本输入域控件,还支持所有 HTML5 类型的输入控件: text.password.datetime.datetime-local.date.month.time.week ...

  3. Linux 下的一个全新的性能测量和调式诊断工具 Systemtap,第 1 部分: kprobe

    kprobe 的原理.编程接口.局限性和使用注意事项 本系列文章详细地介绍了一个Linux下的全新的调式.诊断和性能测量工具Systemtap和它所依赖的基础kprobe以及促使开发该工具的先驱DTr ...

  4. java集合循环删除

    java集合循环删除,java list集合操作,java循环.分享牛,分享牛原创.java集合删除方法. 2.6.1.第一种方式 list.add("1"); list.add( ...

  5. Swift中if与switch语句使用一例

    在Swift中相同的条件处理有if和switch两个语句,我们如何取舍呢? 一种情况下我们只在乎x是否在一个范围内,但并不关心x是否穷尽!换句话说不关心在满足范围条件的其他情况下,此时我们可以考虑用i ...

  6. Java学习之继承中的执行顺序详解

    代码块(理解) (1)用{}括起来的代码. (2)分类: A:局部代码块 用于限定变量的生命周期,及早释放,提高内存利用率. B:构造代码块 把多个构造方法中相同的代码可以放到这里,每个构造方法执行前 ...

  7. 19 子线程刷新UI runOnUiThread

    package com.example.com.fmyh; import java.io.BufferedReader; import java.io.File; import java.io.Fil ...

  8. 01_学习java WEB涉及到的相关技术

     http协议 Tomcat服务器 Servlet技术 JSP技术 HTML CSS Javascript JDBC技术 MySQL.Oracle SQL语言 JavaBean 常用开源组件 DO ...

  9. [shiro学习笔记]第三节 使用myeclipse导入apache shiro中的QuikStart example例子

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/40149131 shiro官网:http://shiro.apache.org/ shi ...

  10. [ExtJS5学习笔记]第二十四节 Extjs5中表格gridpanel或者表单数据后台传输remoteFilter设置

    本文地址:http://blog.csdn.net/sushengmiyan/article/details/39667533 官方文档:http://docs.sencha.com/extjs/5. ...