Android weight属性详解

本文深入讲解了Android中LinearLayout布局的layout_weight属性。介绍了当组件宽度设为“match_parent”时,该属性代表显示优先级;当组件宽度设为“0dip”时,则按比例分配显示空间。此外还说明了如何使用android:visibility属性控制组件的可见性。

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

android:layout_weight是一个经常会用到的属性,它只在LinearLayout中生效,下面我们就来看一下:

  • 当我们把组件宽度设置都为”match_parent”时:
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        android:text="按钮1" />
     <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="按钮2" />       

显示效果:
这里写图片描述

可以看到按钮2占的比例明显比按钮1占的多,那么这个比例是怎么算的呢?其实是a/(a+b)这样算的,因此按钮1算下来所占比例为3/4,按钮2所占为1/4,可是这样完全和真实情况不符合啊。
其实呢,当组件宽度设置为”match_parent”的时候,这里的权重值,表示的组件显示的优先级,而且值越小优先级越高,因为按钮2优先级为1,大于按钮1的优先级,所以按钮2占的是3/4,按钮1占的是1/4。
当组件长度为match_parent时,权重设置的是显示优先级

  • 当我们把组件宽度设置都为”0dip”时:
    显示效果如下:
    这里写图片描述

这是为什么呢?
当组件长度为0dp时,权重设置的是按比例分配显示空间
所以就是如图的情况了。

  • 通常和weight一块用的还有一个属性android:visibility=”visible”:控制组件是否显示,有三个选值visible显示,invisible不显示,但 占空间,gone隐藏。
  • 好了,Android weight属性到这里就介绍完了,希望可以给大家提供帮助。

版权声明:本文为博主原创文章,未经博主允许不得转载。

 

转载于:https://www.cnblogs.com/makaruila/p/4854444.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值