安卓layout_weight總結

    關於安卓中layout_weight屬性的使用總是讓很多開發者迷迷糊糊,編寫的代碼往往無法達到想要的效果。上網查了一些資料以後自己也寫了個小DEMO後算是對layout_weight的屬性有了個基本的掌握。下面就簡單的介紹一下:

    一、基本原理

    首先layout_weight屬性僅在LinearLayout適用,系統先將Layout中各個控件所佔用的空間分配給各控件,屏幕上剩下的空間即爲剩餘空間。再根據各控件的layout_weight所佔的比例將剩餘空間分配給各控件。若剩餘空間爲負,則也按照比例計算在當前控件所佔空間中減去相應的部分,這也正是當佈局orientation方向上各控件寬度爲fill_parent時,產生的控件所分配比例與layout_weight屬性值相反的原因(當各控件都爲fill_parent時,剩餘空間必定爲負,此時各控件所分配的剩餘空間也都是負,所佔比例小的減掉的面積小故最後剩下的面積也就相對較大)

    二、使用技巧

    1、當需要對控件進行平等分配的時候,可以用wrap_content和相同的weight值搭配使用,若使用fill_parent的話往往不能達到效果。

    2、當需要實現一個控件填滿屏幕剩餘空間的時候,可將其寬度設置爲0dp,並設置layout_weight爲1,其他所有控件不設置weight屬性(原理:系統先將其他控件所佔用的空間分配好,由於只有需要填充的控件具有layout_weight屬性,故剩餘空間全部分配給它,也就實現了該控件填滿屏幕剩餘空間的目標)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章