android:layout_weight属性

本文通过实例详细解析了Android中布局权重(layout_weight)的概念及其使用方法。水平方向上的文本标签通过分配不同权重实现空间的动态分配,垂直方向同样适用。具体展示了如何通过调整权重值来改变视图占比。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • <?xml version="1.0" encoding="utf-8"?>     
    <LinearLayout     
        xmlns:android="http://schemas.android.com/apk/res/android"    
        android:orientation="vertical"     
        android:layout_width="fill_parent"    
        android:layout_height="fill_parent">    
       <!--         
            layout_weight 用于给一个线性布局中的诸多视图的重要度赋值。       
              
            举个例子:比如说我们在 水平方向上有一个文本标签和两个文本编辑元素。    
            该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。    
            如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分    
            在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个     
            文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2,    
            则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要    
            度越高)。    
        -->    
        <LinearLayout    
        android:orientation="horizontal"    
        android:layout_width="fill_parent"    
        android:layout_height="fill_parent"    
        android:layout_weight="1">    
        <TextView    
            android:text="red"    
            android:gravity="center_horizontal"    
            android:background="#aa0000"    
            android:layout_width="wrap_content"    
            android:layout_height="fill_parent"    
            android:layout_weight="1"/>    
            
        <TextView    
            android:text="green"    
            android:gravity="center_horizontal"    
            android:background="#00aa00"    
            android:layout_width="wrap_content"    
            android:layout_height="fill_parent"    
            android:layout_weight="1"/>    
            
        <TextView    
            android:text="blue"    
            android:gravity="center_horizontal"    
            android:background="#0000aa"    
            android:layout_width="wrap_content"    
            android:layout_height="fill_parent"    
            android:layout_weight="1"/>    
            
        <TextView    
            android:text="yellow"    
            android:gravity="center_horizontal"    
            android:background="#aaaa00"    
            android:layout_width="wrap_content"    
            android:layout_height="fill_parent"    
            android:layout_weight="1"/>    
                
        </LinearLayout>    
            
        <LinearLayout    
        android:orientation="vertical"    
        android:layout_width="fill_parent"    
        android:layout_height="fill_parent"    
        android:layout_weight="2">    
            
        <TextView    
            android:text="row one"    
            android:textSize="15pt"    
            android:layout_width="fill_parent"    
            android:layout_height="wrap_content"    
            android:layout_weight="1"/>    
            
        <TextView    
            android:text="row two"    
            android:textSize="15pt"    
            android:layout_width="fill_parent"    
            android:layout_height="wrap_content"    
            android:layout_weight="1"/>    
            
        <TextView    
            android:text="row three"    
            android:textSize="15pt"    
            android:layout_width="fill_parent"    
            android:layout_height="wrap_content"    
            android:layout_weight="1"/>    
            
        <TextView    
            android:text="row four"    
            android:textSize="15pt"    
            android:layout_width="fill_parent"    
            android:layout_height="wrap_content"    
            android:layout_weight="1"/>    
                
        </LinearLayout>    
                
    </LinearLayout>
  • 效果图如下:

  • 参考博客:http://www.cnblogs.com/carbs/archive/2012/07/03/2575474.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值