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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android按比例布局之layout_weight和weightSum的使用

發布時間:2024/4/15 Android 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android按比例布局之layout_weight和weightSum的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一個Button占據整個屏幕的一半寬度,開發文檔中對layout_weight屬性的描述:

“定義weight總和的最大值。如果未指定該值,以所有子視圖的layout_weight屬性的累加值作為總和的最大值。一個典型的案例是:通過指定子視圖的layout_weight屬性為0.5,并設置LinearLayout的weightSum屬性為1.0,實現子視圖占據可用寬度的50?!?/p>

XML文件僅僅包含一個Button,它的寬度占據整個屏幕的一半,代碼如下:

[html]?view plaincopy
  • <LinearLayout?xmlns:android="http://schemas.android.com/apk/res/android"??
  • ????android:layout_width="fill_parent"??
  • ????android:layout_height="fill_parent"??
  • ????android:background="#ffffff"??
  • ????android:gravity="center"??
  • ????android:orientation="horizontal"??
  • ????android:weightSum="1"?>??
  • ??
  • ????<Button??
  • ????????android:layout_width="0dp"??
  • ????????android:layout_height="wrap_content"??
  • ????????android:layout_weight="0.5"??
  • ????????android:text="@string/activity_main_click_me"?/>??
  • ??
  • </LinearLayout>??
  • 在上面的xml中,指定Button的android:layout_width屬性為0dp,因此需要根據android:weightSum屬性決定Button的width。

    假設有一個寬度是200dp,android:weightSum屬性是1.0的LinearLayout。

    在這個LinearLayout中的Button寬度的計算公式如下:

    [plain]?view plaincopy
  • Button's?width?+?Button's?weight?*?200?/?sum(weight)??
  • 指定Button的width為0dp,weight為0.5,sum(weight)等于1,那么結果如下。

    0 + 0.5 * 200 / 1 = 100

    當需要根據比例分配布局可用空間的時候,使用LinearLayout的weight屬性是很有必要的,這避免了使用硬編碼的方式帶來的副作用。

    如果目標平臺是Honeycomb并且使用Fragment,那么大多數案例中都是使用weight在布局文件中為Fragment分配空間。

    深入理解如何使用weight會為開發者增添一項重要技能。

    總結

    以上是生活随笔為你收集整理的Android按比例布局之layout_weight和weightSum的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

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