首页
JAVA笔记
数据库笔记
混乱记忆
小站记
您现在的位置
android:layout_weight 的作用
简介: android 开放过程中难免会用到 android:layout_weight。从起初的不理解到熟练运用才发觉它的美好。
weight 英译为:n. 重量,重力;负担;砝码;重要性 vt. 加重量于,使变重

在这里我理解为权重的意思,在开发过程中起到占领剩余空间的作用。


场景描述:
在 android 开放过程中 LinearLayout 布局中,如果需要一个 ListView 和 Button 。Button 在最下面,ListView 占所有的剩余空间。

在上面的场景中怎么设置 ListView 的宽度和高度才能占满剩余空间而不影响button?
在这里我们就需要设置 android:layout_weight 因为我们通过 layout_width 和 layout_height 都不能让其充满剩余空间。正确方法如下
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="添加" />

        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="修改" />
    </RelativeLayout>

</LinearLayout>

android:layout_weight 实际是将剩余空间等分
如果上面的场景中 ListView weight 的值为2、RelativeLayout  的值为1,那么其控件大小的计算方式是根据 layout_height 和 layout_width 计算出控件值后再将剩余空间分成3等份,ListView 占2份,RelativeLayout  占1份。
最近更新