日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Android 布局属性 Android:layout_weight 总结

發布時間:2025/3/20 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android 布局属性 Android:layout_weight 总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Android 為我們提供了五種布局方式

  • 線性布局:LinerLayout
  • 表格布局:TableLayout
  • 相對布局:RelativeLayout
  • 絕對布局:AbsoluteLayout
  • 幀布局:FrameLayout
  • 其中最常用的應該就是線性布局了。而在線性布局中有一個屬性layout_weight。這個屬性的字面意思是權重,就是說可以通過這個屬性來設置控件在線性布局中的大小比例。
    但是在使用中我們發現,當線性布局中的控件使用match_parent時控件大小與權重比例居然相反,而使用wrap_content時甚至weight甚至毫無作用。這是為什么呢?
    按照Google官方的說法,layout_weight屬性是用來分配Linerlayout中剩余的屏幕空間的。
    現在我們來做一下算術題:

    假設屏幕寬度是W,LinerLayout的布局方式是橫向,寬度是屏幕寬度即W。Linerlayout中有兩個控件,寬度都是match_parent即W.現在定義兩個控件左邊的為2,右邊的為1.
    現在我們來算一下,兩個控件的寬度:
    剩余寬度 S = W - 2*W = -W.
    左邊控件分配到的剩余寬度 SL = (2/3)*S =-(2/3)W
    右邊控件分配到的剩余寬度 SL = (1/3)S = -(1/3)W
    那么左邊控件的實際寬度就是 -(2/3)W+W = (1/3)W
    那么右邊控件的實際寬度就是 -(1/3)W+W = (2/3)W
    于是權重設置為2:1 但實際顯示效果卻是1:2就是這樣來的。有興趣的同學可以算一下使用wrap_content時顯示的比例。可以發現根本毫無規律。
    那么我們就不用layout_weight這一屬性了嗎?
    當然不是
    按照Google官方推薦的方法,在使用layout_weight時。可以將width設置為0dp(當然布局方式是豎向的時候是height)。
    希望對看到這篇文章的人有幫助:D

    總結

    以上是生活随笔為你收集整理的Android 布局属性 Android:layout_weight 总结的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。