首页 > 移动平台 > 详细

Android中关于线性布局基线对齐的讲述

时间:2014-01-25 16:45:27      阅读:1598      评论:0      收藏:0      [点我收藏+]

http://www.doubleencore.com/2013/10/shifty-baseline-alignment/

PS:下面的内容只是自己学习后进行知识梳理记忆所用的,并不全面,也可能理解有误,大家可以只参考上面链接提供的内容。

以下图片来自于上面链接

 

 

线性布局即其子类布局中有基线对齐这个特性,即对所有能有基线(即getBaseline()返回正值)的View视图(一般多为TextView子类)默认采用基线对齐。

一般情况下它能很好的帮助我们对齐控件,显得很整洁,如下

bubuko.com,布布扣

可是当我们的文字是多行的时候问题就出现了。

bubuko.com,布布扣

可以发现莫名奇妙的不对齐了,甚至有一部分已经在父控件显示范围之外了。

原因就是在于基线对齐。

bubuko.com,布布扣

看这个大图,父控件自动帮我们进行了基线对齐,而基线对齐默认是对齐第一行文字,所以就出现了这种情况。

至于怎么解决有两种方法,一种是为父控件增加android:gravity="center_vertical"属性,这个属性一旦设置将会覆盖基线对齐的属性设置。

另一种推荐的方法就是明确在父控件声明不需要进行基线对齐 在XML中通过android:baselineAligned="false"或在Java通过setBaselineAligned(false)来设置。

最终效果如下

bubuko.com,布布扣

Android中关于线性布局基线对齐的讲述

原文:http://www.cnblogs.com/jinks/p/3533006.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!