android官方技术文档翻译——设计时布局属性
本文译自androd官方技术文档《Designtime Layout Attributes》:http://tools.android.com/tips/layout-designtime-attributes。
本文地址:http://blog.csdn.net/maosidiaoxian/article/details/41541269。转载请注明出处。翻译如有错讹,敬请指正。
设计时布局属性
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" ...这个工具命名空间是Android的工具专门公认的命名空间,所以你定义在视图元素上的所有的tool-namespace的属性,在应用程序被打包时都将自动剥离并且不会对运行时带来开销。
tools: 命名空间而不是 android: 命名空间: <TextView android:text="Name:" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <EditText tools:text="John Doe" android:layout_width="wrap_content" android:layout_height="wrap_content" />tools:命名空间而不是android:命名空间。还要注意的是,你不必只选择其中的一个;您可以设置两个属性,Android命名空间属性(在运行时使用)和工具属性(在设计时将覆盖运行时属性)。
fastScrollAlwaysVisible属性。但是,您可能仍然希望该属性在运行时是设置的。通过设计时属性,你可以这样解决: <ListView android:id="@+id/listView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:fastScrollAlwaysVisible="true" tools:fastScrollAlwaysVisible=""/>下面是另一个例子;我们有一个有多个子view的FrameLayout,并且在设计时,我们只希望看到他们中的一个,比如说第二个:我们可以使用 tools:visibility 属性:
<Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="First" tools:visibility="invisible" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Second" tools:visibility="visible" />(根据你的需要,你可能会使用 visibility="gone" 来代替 visibility="invisible" 。)
限制
- 目前仅支持覆盖现有的属性。我们可能要定义一些额外的方便的属性,使比如选择在ViewFlipper 显示的子view等等变得简单
- 此时你必须手动编辑您的设计时属性
- 它们不会作为一个选项出现,比如在布局编辑器属性表中。
- 编辑器的代码完成功能不会帮助你进入这些属性;使用它们的最简单的方法是先在Android命名空间中进入,然后进行更换前缀来完成。
- 需要注意的是设计时属性仅支持布局文件本身。你不能在其他地方使用它们——比如在菜单 XML 文件中,字符串资源定义中,等等。
- 在这一点上,设计时属性只能用于框架资源中,而无法在自定义属性使用。
- 查看 https://code.google.com/p/android/issues/detail?id=46186 以获取背景资料、额外请求或注释等信息。
tools: 命名空间的其他属性的详细信息,请参阅 Tools Attributes。android官方技术文档翻译——设计时布局属性的更多相关文章
- android官方技术文档翻译——工具属性
本文译自androd官方技术文档<Tools Attributes>:http://tools.android.com/tech-docs/tools-attributes 本文地址:ht ...
- Android官方技术文档翻译——Gradle 插件用户指南(6)
没想到翻译这篇<Gradle 插件用户指南>拖了差不多一个月,还跨年了.不过还好,在2号时终于一口气把剩下的给翻译完了(其实那天剩下的也就不到一章). 今天先发一下第六章,明天再发第七章. ...
- Android官方技术文档翻译——Gradle 插件用户指南(5)
昨晚把第五章未译完的几句话攻克了.只是第六章没怎么译,明后天又是周末,假设周一前第六章翻译完的话,周一再发第六章. 本文译自Android官方技术文档<Gradle Plugin User Gu ...
- Android官方技术文档翻译——Gradle 插件用户指南(4)
最近赶项目,白天基本没时间,只有晚上在家的时候才能看一看.昨天晚上只翻译完了第四章,今天就只发第四章吧. 本文译自Android官方技术文档<Gradle Plugin User Guide&g ...
- Android官方技术文档翻译——Gradle 插件用户指南(7)
本文译自Android官方技术文档<Gradle Plugin User Guide>,原文地址:http://tools.android.com/tech-docs/new-build- ...
- Android官方技术文档翻译——Gradle 插件用户指南(1-3)
不知道是什么网络问题,上午一直发不了博客,其它页面基本正常,就是在写博客这里,每次打开都是响应超时.刚才用了VPN,顺便试了一下,竟然能够编辑.想是CDN之类的问题吧. 这次翻译的是Gradle 插件 ...
- Android官方技术文档翻译——清单合并
本文译自Android官方技术文档<Manifest Merger>,原文地址:http://tools.android.com/tech-docs/new-build-system/us ...
- Android官方技术文档翻译——迁移 Gradle 项目到1.0.0 版本
本文译自Android官方技术文档<Migrating Gradle Projects to version 1.0.0>,原文地址:http://tools.android.com/te ...
- Android官方技术文档翻译——新构建系统概述
本文译自Android官方技术文档<New Build System>,原文地址:http://tools.android.com/tech-docs/new-build-system. ...
随机推荐
- 开源Spring解决方案--lm.solution
Github 项目地址: https://github.com/liumeng0403/lm.solution 一.说明 1.本项目未按java项目传统命名方式命名项目名,包名 如:org.xxxx. ...
- c++ 深入理解数组
阅读前提:你得知道啥是数组. 本文需要弄清楚的问题如下: 1,数组作为函数参数,传入的是值,还是地址? 2,数组作为函数参数,数组的长度能否确定? 解决如下 1,数组作为函数参数,传入的是地址.因为数 ...
- vue-cli搭建项目的目录结构及说明
vue-cli基于webpack搭建项目的目录结构 build文件夹 ├── build // 项目构建的(webpack)相关代码 │ ├── build.js ...
- COS对象存储服务的使用
---------------------------------------------------------------------------------------------[版权申明:本 ...
- UE4使用UMG接口操作界面
原文链接:http://gad.qq.com/article/detail/7181131 本文首发腾讯GAD开发者平台,未经允许,不得转载 UE4的蓝图之强大让人欲罢不能,但是实际在项目的开发中,C ...
- let内嵌lambda使用set!构成闭包
查了半天没有找到scheme中判断数据类型的函数,索性自己写了个type?,发现闭包和递归有着微妙的联系. 本例中,自由变量是types,外层let初始化了types的值,内层let里的(set! t ...
- ROS(indigo) 语音工具 科大讯飞 百度 pocketsphinx julius rospeex 16.11.22更新 ROS中文语音
ROS语音工具汇总,目前先给出链接,只用过一些简单的命令. 中文语音: 参考链接:使用科大讯飞库 1 http://www.ncnynl.com/archives/201611/1069.html 2 ...
- 高性能的Redis代理TwemProxy
TwemProxy是一个Redis的中间件代理,具有很多有用的功能,可以暂时替代一部分Redis Cluster的功能: ² 支持和6479.之后相应地,配置好两个Redis实例并启动.现在就可以启 ...
- Swift中如何转换不同类型的Mutable指针
在Swift中我们拥有强大高级逻辑抽象能力的同时,低级底层操作被刻意的限制了.但是有些情况下我们仍然想做一些在C语言中的hack工作,下面本猫就带大家看一看如何做这样的事. hacking is ha ...
- SQLite 创建表(http://www.w3cschool.cc/sqlite/sqlite-create-table.html)
SQLite 创建表 SQLite 的 CREATE TABLE 语句用于在任何给定的数据库创建一个新表.创建基本表,涉及到命名表.定义列及每一列的数据类型. 语法 CREATE TABLE 语句的基 ...