Android中关于线性布局基线对齐的讲述
http://www.doubleencore.com/2013/10/shifty-baseline-alignment/
PS:下面的內(nèi)容只是自己學(xué)習(xí)后進(jìn)行知識(shí)梳理記憶所用的,并不全面,也可能理解有誤,大家可以只參考上面鏈接提供的內(nèi)容。
以下圖片來(lái)自于上面鏈接
?
?
線性布局即其子類布局中有基線對(duì)齊這個(gè)特性,即對(duì)所有能有基線(即getBaseline()返回正值)的View視圖(一般多為TextView子類)默認(rèn)采用基線對(duì)齊。
一般情況下它能很好的幫助我們對(duì)齊控件,顯得很整潔,如下
可是當(dāng)我們的文字是多行的時(shí)候問(wèn)題就出現(xiàn)了。
可以發(fā)現(xiàn)莫名奇妙的不對(duì)齊了,甚至有一部分已經(jīng)在父控件顯示范圍之外了。
原因就是在于基線對(duì)齊。
看這個(gè)大圖,父控件自動(dòng)幫我們進(jìn)行了基線對(duì)齊,而基線對(duì)齊默認(rèn)是對(duì)齊第一行文字,所以就出現(xiàn)了這種情況。
至于怎么解決有兩種方法,一種是為父控件增加android:gravity="center_vertical"屬性,這個(gè)屬性一旦設(shè)置將會(huì)覆蓋基線對(duì)齊的屬性設(shè)置。
另一種推薦的方法就是明確在父控件聲明不需要進(jìn)行基線對(duì)齊 在XML中通過(guò)android:baselineAligned="false"或在Java通過(guò)setBaselineAligned(false)來(lái)設(shè)置。
最終效果如下
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/jinks/p/3533006.html
總結(jié)
以上是生活随笔為你收集整理的Android中关于线性布局基线对齐的讲述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Git 什么时候用什么指令
- 下一篇: Android PowerImageVi