安卓layout_weight總結

來源:互聯網
上載者:User

標籤:開發人員   技巧   控制項   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屬性,故剩餘空間全部分配給它,也就實現了該控制項填滿螢幕剩餘空間的目標)。

安卓layout_weight總結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.