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