工作中发现的相对布局中的一个小技巧
2011-01-05 11:15
281 查看
大家都知道,我们在配置布局xml文件的时候,都需要考虑该布局在横竖屏不同状态下的显示样式,尽可能的将一个xml文件即适应于横屏,又适应于竖屏。这就要求在xml文件中尽量少使用类似于“50dip”,”“13px”这样的硬性数据。看下面一个例子
该图的结构是这样的
如何确定hospitalName和maxseats之间的间隔,让maxseats距离call更近。
常规办法:
<TextView
android:id="@+id/hospital"
android:layout_alignParentLeft="true"
android:text="Hospital A"
/>
<ImageButton
android:id="@+id/call"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/hospital"
android:layout_marginRight="5dip"
/>
<TextView
android:id="@+id/maxseats"
android:layout_marginLeft="120dip"
android:layout_toRightOf="@id/hospital"
android:text="maxseats : 3"
/>
这样横屏的时候就会出现maxseats和call之间间隔过大的问题。
下面说说我偶然发现的这个做法,没什么技术含量,但是能解决问题。(也许我的这个问题对于其他人不是问题)
<TextView
android:id="@+id/hospital"
android:layout_alignParentLeft="true"
android:text="Hospital A"
/>
<ImageButton
android:id="@+id/call"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/hospital"
android:layout_marginRight="5dip"
/>
<TextView
android:id="@+id/maxseats"
android:layout_marginRight="10dip"
android:layout_toRightOf="@id/call"
android:text="maxseats : 3"
/>
总结:这两种做法的区别就是“参照物”的选择,在相对布局中选择一个合适的参照物往往能事半功倍。
该图的结构是这样的
如何确定hospitalName和maxseats之间的间隔,让maxseats距离call更近。
常规办法:
<TextView
android:id="@+id/hospital"
android:layout_alignParentLeft="true"
android:text="Hospital A"
/>
<ImageButton
android:id="@+id/call"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/hospital"
android:layout_marginRight="5dip"
/>
<TextView
android:id="@+id/maxseats"
android:layout_marginLeft="120dip"
android:layout_toRightOf="@id/hospital"
android:text="maxseats : 3"
/>
这样横屏的时候就会出现maxseats和call之间间隔过大的问题。
下面说说我偶然发现的这个做法,没什么技术含量,但是能解决问题。(也许我的这个问题对于其他人不是问题)
<TextView
android:id="@+id/hospital"
android:layout_alignParentLeft="true"
android:text="Hospital A"
/>
<ImageButton
android:id="@+id/call"
android:layout_alignParentRight="true"
android:layout_alignTop="@id/hospital"
android:layout_marginRight="5dip"
/>
<TextView
android:id="@+id/maxseats"
android:layout_marginRight="10dip"
android:layout_toRightOf="@id/call"
android:text="maxseats : 3"
/>
总结:这两种做法的区别就是“参照物”的选择,在相对布局中选择一个合适的参照物往往能事半功倍。
相关文章推荐
- 网页开发一个div相对于另外一个div的精确定位的问题(以象棋的布局为例)
- 利用线性布局和相对布局实现一个简单的页面并且使应用支持国际化语言
- 一个小的技巧和新发现
- RelativeLayout相对布局 安卓布局技巧
- 技巧和诀窍:如何在VS 2005 SP1中使用VS的web服务器运行一个相对于根目录“/”的网站
- 发现一个妖怪问题导致jumplist不工作
- 使用线性布局和相对布局做一个国际化的手机信息页面
- 发现ASP.NET一个小技巧
- Android 自定义的一个带有标题栏的相对布局
- RelativeLayout相对布局 安卓布局技巧
- 一个常用的布局技巧
- 关于相对布局中控件摆放位置的一个需要注意的小地方
- CSS刚发现的一个技巧
- 安卓相对布局的一个小问题记录
- 5.HDMI视频采集板-布局之模块化分布技巧(布局前准备工作--按各功能模块先打散好)
- WinXP 无线技巧“区域没有通过无线网络中的发现”一个可能的原因!
- Android UI组件----用相对布局RelativeLayout做一个登陆界面
- 偶然发现的一个seo技巧
- 今天工作中发现一个问题,看算不算BUG,如何解释这种现象。
- 技巧和诀窍:如何在VS 2005 SP1中使用VS的web服务器运行一个相对于根目录“/”的网站