在開發過程中,Android控件/控件屬笥有好多都沒有使用過,所以這裏進行總結學習下 ^ ^
一:LinearLayout 線性佈局屬性
1)baselineAligned :該屬性默認爲true,設爲false後將會阻止該佈局管理器與它的子元素基線對齊
根據圖上的佈局,將此屬性設爲false,然後運行後的結果如下:
將此屬性去掉/設置爲true,運行結果如下:
根據以上事例,那基線也就顯而易見了吧,說白了就是控件的顯示是首先從底部對齊的,如果設爲false那就從頭部開始對齊,注:佈局中控件的字體定義了大小是爲了顯示效果更明顯,如果不定義字體大小則看不出具體變化。ps:線性佈局爲水平方向
2)baselineAlignedChildIndex:當前線性佈局中的view按照哪個控件的基線對齊,下標從0開始
根據圖中代碼的設置,期望整個佈局中第一個控件是按照子佈局中第3個View的基線進行顯示的,因此得到如下圖所示結果:
注:baselineAlignedChildIndex屬性只適應於控件類型爲Button、TextView、EditView,如果佈局中包含除此之外的控件,則其會報如下錯誤(不知道如何去得到基線):
3)divider:設置佈局中控件間的分隔線與showDividers屬性結合使用
showDividers的屬性包括:
middle 在每一項中間添加分割線
end 在整體的最後一項添加分割線
beginning 在整體的最上方添加分割線
none 無
效果圖:
shape文件內容:
注:以上divider屬性需要使用@drawable來引用圖片或者shape文件才能顯示,使用color的話效果不變,shape文件中需要添加顏色及size的屬性。showDividers中的屬性可以根據需求進行更改,這裏就不一一列舉了。
4)weightSum:權重的總和
權重總和爲8,而文字=‘第二個控件’的TextView權重爲6,而另一個控件則佔剩餘的2個權重。
5)measureWithLargestChild:默認爲false,當爲true時,該佈局中的所有view會按照最大的那個控件的寬/高爲基準進行顯示(前提:view中必須使用權重)
如圖所示將measureWithLargestChild屬性值設爲true的時侯,根據佈局的方向如果是垂直的話,那麼文字多的控件有多高,其它控件所佔的高度就會與它一樣高;如果是水平的話,那就是寬相同。如果控件中沒有使用weight權重的話,那就如文本爲“第四個控件”一樣無任何變化。
線性佈局的屬性就總結到這裏,其它基礎屬性就不在這裏闡述了,如有不準確的地方請勿噴!!
本文章多用圖形與描述結合的形式進行總結,更爲直觀些。