PercentLayout
百分比布局盈咳,控制子view 在布局文件占用的大小蘑斧,多適配方案的一種比較好的選擇靖秩。
擁有的屬性:
-
layout_widthPercent
和layout_heightPercent
寬、高 占比
-
layout_marginPercent
支持
margin
竖瘾,設(shè)置邊距沟突,該控件相對于父控件的邊距,使用起來更方便捕传。 -
layout_marginStartPercent
和layout_marginEndPercent
距離開始和結(jié)束的位置
-
layout_aspectRatio
用于顯示寬高比例惠拭,很有用處,當(dāng)指定了寬或高的一邊的長度或百分比后庸论,會自動計算另一邊的長度职辅;
例如當(dāng)寬是match_percent
時,可指定寬高比聂示,便不需要考慮屏幕的適配問題域携;注:
layout_aspectRatio
的數(shù)值可超過100%,例如150%鱼喉。
需注意的地方
-
目前有兩種
PercentLayout
--->PercentRelativeLayout
與PercentFrameLayout
兩種涵亏。在第一個參考里,詳細(xì)說了具體的實(shí)現(xiàn)蒲凶,及
PercentLayoutHelper
的作用- 將現(xiàn)有的組件支持百分比控制 child view 的寬和高
-
fetchWidthAndHeight()
方法 adjustChildren()
需要設(shè)置寬高占比時,需要同時設(shè)置
android:layout_width="0dp"
android:layout_height="0dp"
有時父view最大能提供的空間小于控件需要的空間拆内,會給測量結(jié)構(gòu)的高兩位加上相應(yīng)的狀態(tài)表示
MEASURED_STATE_TOO_SMALL
, 會調(diào)用handleMeasuredStateTooSmall()
處理旋圆,將寬和高重新按照wrap_content
來測量。
寫在最后
PercentLayout
適用于在項(xiàng)目中適配多種機(jī)型問題麸恍,可對標(biāo)準(zhǔn)屏進(jìn)行百分比布局灵巧,然后測試其他屏幕的時候,對特殊屏幕(會出現(xiàn)問題)進(jìn)行特殊處理抹沪。
有錯誤刻肄,請指出,謝謝您融欧!