Android开发的小技巧,在Android Studio中使用Designtime Layout Attributes
在编写xml文件时,为了预览效果,经常会使用默认填上一些内容,比如TextView时,随便写上一个text
<TextView
...
android:text="Name:" />
但是如果这个在实际发布的时候忘记了删除这个text,就有可能出现问题了
其实在Android Studio上,可以使用一个更加优雅和高效的方式,那就是使用tools属性
首先添加tools的namespace
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
...
然后就可以放心的使用了
<TextView
tools:text="Name:"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
tools属性是designtime attribute,也就只有在Android Studio中进行layout预览的时候有效,运行的时候这些属性会被删除
一般android:命名空间有的属性,使用tools都会有效
tools属性除了进行属性值的预览外,还可以对一些属性进行unset,因为在预览的时候,tools:属性会覆盖android:属性
举个例子,有个按钮默认是隐藏的,但是你想在编辑layout的时候还能看到他,但是有不想反复的修改属性,可以这样做
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="First"
android:visibility="invisible"
tools:visibility="visible" />
在编辑layout的时候,这Button是可见的,但是正真打包的时候,这个Button是不可见的
除了基本属性,还有一些神奇的属性可以使用:
tools:listitem tools:listheader tools:listfooter
在ListView, RecyclerView中预览item
tools:layout
Fragment标签使用,告诉Fragment使用哪个布局
tools:showIn
如果layout被include,使用tools:showIn指定父layout,就可以预览include后的效果了,如果使用merge标签作为根布局,看上去就不会一团糟了
tools:parent
使用自定义view,如果layout的根节点为merge,指定自定义view,例如
tools:parent="com.example.CustomView"
merge内的控件就会根据CustomView进行布局
tools:context
这个比较常见,新建一个Activity的时候都有,可以通过知道的context读取Activity的主题,标题,甚至menu,然后显示预览
tools:ignore
忽略lint的检查
tools:targetApi
tools:locale
制定默认资源文件夹的地区,制定为中国,系统就不会警告没有添加中文的翻译了
Android开发的小技巧,在Android Studio中使用Designtime Layout Attributes的更多相关文章
- Android开发——ListView使用技巧总结(二)
0. 前言 Android中的ListView是用的比较多的控件之一,在上一篇Android开发--ListView使用技巧总结(一)中对ListView的ViewHolder机制.优化卡顿方式以及 ...
- Android开发——ListView使用技巧总结(一)
)还有一点就是要控制异步任务的执行频率,因为当用户频繁的上下滑动,会瞬间产生上百个异步任务,会带来无意义的大量的UI更新操作,因此可以考虑在列表滑动时停止进行异步任务,直到列表停下来. //判断列表的 ...
- Android开发面试经——4.常见Android进阶笔试题(更新中...)
Android开发(29) 版权声明:本文为寻梦-finddreams原创文章,请关注:http://blog.csdn.net/finddreams 关注finddreams博客:http:/ ...
- [Android开发那点破事]解决android.os.NetworkOnMainThreadException
[Android开发那点破事]解决android.os.NetworkOnMainThreadException 昨天和女朋友换了手机,我的iPhone 4S 换了她得三星I9003.第一感觉就是好卡 ...
- 五个goland进行go开发的小技巧
五个goland进行go开发的小技巧 本文译自5 Tips To Speed Up Golang Development With IntelliJ Or Goland 确实很实用. 1. 实现int ...
- Android内存控制小技巧-使用矢量图来节省你的内存并简化你的开发。
先上一个 位图和矢量图的 说明.http://zhidao.baidu.com/link?url=xwvs5CBzWeh15O3Ee4bICwCqg4PCQWwg5oZ0a6CVydbVZzufqrI ...
- 作业一:android开发平台的演变以及Android Studio设置
目录: ①. 从Eclipse到Android Studio ②. Android Studio的下载和安装 ③. 用户习惯设置以及快捷键 ④. SDK路径重新设置 ↓点此跳转到文 ...
- ANDROID开发实用小工具
分享一些 Android开发中的实用小工具,你有发现好工具吗? 来这里分享一下呗 一.find bugs 静态检查工具 http://findbugs.sourceforge.net/ FindBug ...
- Android开发学习总结(二)——使用Android Studio搭建Android集成开发环境
有很长一段时间没有更新博客了,最近实在是太忙了,没有时间去总结,现在终于可以有时间去总结一些Android上面的东西了,很久以前写过这篇关于使用Android Studio搭建Android集成开发环 ...
随机推荐
- Android之Socket通信、List加载更多、Spinner下拉列表
Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务 ...
- SpringMVC那点事
一.SpringMVC返回json数据的三种方式 1.第一种方式是spring2时代的产物,也就是每个json视图controller配置一个Jsoniew. 如:<bean id=" ...
- codeforces C. Vanya and Scales
C. Vanya and Scales Vanya has a scales for weighing loads and weights of masses w0, w1, w2, ..., w10 ...
- Android随笔之——PackageManager详解
参考:http://www.cnblogs.com/xingfuzzhd/p/3374504.html 今天要讲的是PackageManager.Android系统为我们提供了很多服务管理的类,包括A ...
- RSA密钥,JAVA与.NET之间转换
最近在做银联的一个接口,用到RSA签名,悲剧来了,.net用的RSA密钥格式和JAVA用的不一样 .net为XML格式 <RSAKeyValue><Modulus>53Knuj ...
- ubunt14.04 安装JDK
1.到 Sun 的官网下载 http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 选择 ...
- Oracle Database Server 'TNS Listener'远程数据投毒漏洞(CVE-2012-1675)解决
环境:Windows 2008 R2 + Oracle 10.2.0.3 应用最新bundle patch后,扫描依然报出漏洞 Oracle Database Server 'TNS Listener ...
- 重温Servlet学习笔记--request对象
request和response是一对搭档,一个负责请求一个负责响应,都是Servlet.service()方法的参数,response的知识点前面梳理过了,这里只说一下request,在客户端发出每 ...
- Extjs4.0以上版本 Ext.Ajax.request请求的返回问题
Ext.Ajax.request({ url: posturl, method: 'POST', params: { ClassName: 'XXXX', FuncName: 'XXXX', para ...
- 安装好centOS5.5 后中文乱码
1.网页浏览的中文乱码 [root@localhost ~]# yum install fonts-chinese 下载完毕后,浏览器可以浏览中文网页. 2.应用显示中文乱码 #vi /etc/sys ...