android学习心得02-线性布局的权重

本文深入解析了Android中LinearLayout布局的权重属性android:layout_weight的工作原理。通过实例展示了如何使用权重来动态分配视图的宽度和高度,特别是在屏幕尺寸变化时保持布局的灵活性。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="horizontal" >
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="123" 
            android:background="#0000ff"/>
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="123"
             android:background="#ff0000" />
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="123"
             android:background="#00ffff" />
        <TextView
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="123"
             android:background="#ffff00" />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical" >
        <TextView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:text="123"
             android:background="#ffff00" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:text="123" 
             android:background="#ff0000"/>
        <TextView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:text="123"
             android:background="#0000ff" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:text="123" 
             android:background="#00ffff"/>
    </LinearLayout>
</LinearLayout>

234634_5Eu8_1433152.png

这是上面代码的布局样式,在线性布局中,权重是按比例分配各个VIEW的宽或者高,android:layout_weight="1"的意思在view分配了本身的宽或者高,剩余多余的空间,再按照权重的比例进行分配,假设view A和view B的宽是100dp和50dp,屏幕宽度是300dp,权重都是1,那么A的宽度是100dp+(300-100-50)/2,B的宽度是50dp+(300-100-50)/2;权重比例是根据线性布局的方向来定怎么分配宽度(水平方向)或者高度(垂直方向)

转载于:https://my.oschina.net/u/1433152/blog/472712

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值