大家都知道,我们在配置布局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"       
            />

总结:这两种做法的区别就是“参照物”的选择,在相对布局中选择一个合适的参照物往往能事半功倍。

转载于:https://www.cnblogs.com/transmuse/archive/2011/01/05/1926138.html

工作中发现的相对布局中的一个小技巧相关推荐

  1. html文本最小长度,CSS中处理不同长度文本的几种小技巧

    CSS中处理不同长度文本的几种小技巧 [推荐教程:CSS视频教程 ] 当我们使用 CSS 构建布局时,考虑长短文本内容很重要,如果能清楚地知道当文本长度变化时需要怎么处理,可以避免很多不必要的问题. ...

  2. Oracle中删除数据的一个小技巧

    在我带的某个Project中,在开发阶段需要Reload相同的Data到Oracle中来进行测试,因此需要不断的删除数据,简单的Delete操作似乎就OK了,但其实不然.我们到知道建表的时候需要Tab ...

  3. python中template是什么意思啊_Python中Template使用的一个小技巧

    Python中Template是string中的一个类,可以将字符串的格式固定下来,重复利用. from string import Template s = Template("there ...

  4. div css表单布局的五个小技巧

    div css表单布局的五个小技巧可以帮助你更灵活的控制表单,使页面更加满意. 1.表单文本输入的移动选择: 在文本输入栏中,如果加入了提示,来访者往往要用鼠标选取后删除,再输入有用的信息.其实只要加 ...

  5. JavaScript 工作原理(二)-如何在 V8 引擎中书写最优代码的 5 条小技巧(译)

    From:https://segmentfault.com/a/1190000014770145 原文请查阅这里,略有删减. 本系列持续更新中,Github 地址请查阅这里. 这是 JavaScrip ...

  6. JavaScript 工作原理之二-如何在 V8 引擎中书写最优代码的 5 条小技巧(译)

    原文请查阅这里,略有删减. 本系列持续更新中,Github 地址请查阅这里. 这是 JavaScript 工作原理的第二章. 本章将会深入谷歌 V8 引擎的内部结构.我们也会为如何书写更好的 Java ...

  7. 完美配置Windows装机必备软件提高工作效率【每天一个小技巧】

    0. 引言 对于一个搞科研的人来说,电脑中总有几个很实用的小程序帮助自己提高工作效率,博主总结自己给出非常实用的软件列表. 1. 软件列表 截图类 "Win+shift+S"截图, ...

  8. 发现校内网好友买卖的一个小漏洞!并成功实现自动好友买卖!

    //有些网站通过网络爬虫转载文章都不写明文章出处,请保留文章原作者:redraiment 公告:因为服务器要转让,我将不再有可使用的服务器.因此挂机站点将于2008年11月6日0时关闭. 最新消息:客 ...

  9. excel同一单元格怎么换行_Excel工作表中最经典的10个应用,小技巧,大作用

    生活离不开技巧,工作也是一样,如果你经常和Excel系统打交道,那么,以下技巧是必须要掌握的. 一.Excel经典技巧:单元格内强制换行. 目的:对单元格内的内容换行显示. 方法: 1.将光标定位到需 ...

最新文章

  1. php mysql or_mysql条件查询and or使用方法及优先级实例分析
  2. OARCLE11G的密码管理
  3. Redis的LRU算法
  4. 关于写好文章的3个心法和5点技巧
  5. 为什么WordPress网站应尽量避免使用过多插件
  6. python数据类型有哪些、分别有什么用途_python中的数据类型有哪些
  7. js禁止鼠标滑轮_js实现鼠标滑动到某个div禁止滚动
  8. APP录获取短信+通讯录网站源码
  9. 【BZOJ3555】企鹅QQ,第一次正确的使用哈希A题
  10. linux切换默认编辑器
  11. NSTimer--转
  12. mysql 服务已经存在_windows下mysql主从同步时从服务器出现表已经存在解决办法
  13. JSP基础--J2EE赢在起跑线
  14. 软考初级程序员背题记录
  15. 异步IO框架实现之完成端口(Completion Port)
  16. 卫生统计学计算机操作教程第二版,卫生统计学spss中文教程.pdf
  17. 联想7400打印机如何与手机连到一起_2020年打印机推荐选购,看这篇就够了
  18. K8S加入新的node节点
  19. 大数据、云计算和物联网三者的关系
  20. iOS文章 - 收藏集 - 掘金

热门文章

  1. 关于mysql和oracle错误的有_关于MySQL与Oracle的区别
  2. css grid 自动高度_2020年你不应该错过的CSS新特性(二)
  3. java中的for-each循环
  4. @Mapper和@Repository的区别
  5. 009_Gson版本支持
  6. 035_jdbc-mysql-dbutils的使用
  7. mybatis plus 多表查询_Mybatis 多表查询之一对多
  8. php中的static,php中的static
  9. angularjs组件间通讯_详解Angular2组件之间如何通信
  10. java导出word表格_使用PowerDesigner16.5 逆向数据库 导出word文档