weight的用法

一直以为weight是用来设置控件所占据父容器的比例的,其实不然,正确使用weight,就必须把比例调整对用的方向给搞清楚,然后把它们的大小设置成0dp,例如达到如图效果

172308_mUaN_2335739.png

    <LinearLayout 

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:orientation="horizontal"> 

        <Button 

            android:layout_weight="1"

            android:layout_width="0dp"

            android:layout_height="wrap_content"

            android:text="btn1"/>

         <Button  android:layout_weight="1"

            android:layout_width="0dp"

            android:layout_height="wrap_content"

            android:text="btn2"/>

    </LinearLayout>

图片中,按钮的宽度占父容器中宽度的二分之一,两个按钮的宽度比例是1:1,这是设置了weight都为1的效果,如果两个按钮的weight分别设置成1和2的话,就会获得如图所示的效果:

172732_DwJL_2335739.png

第二个按钮的宽度是第一个按钮宽度的两倍,

注意,这个过程中宽度一定要设置成0dp,不然的话,如果设置成wrap_content或者fiil_parent,产生的效果会不一样,例如

173251_rzRh_2335739.png

设置width成rap_contnt,但是weight设置成1:5或者更大的话,他们的宽度都会保持到刚好包裹内容的宽度,


如果width成rap_contnt,但是weight设置成1:5,会产生如下效果

173715_eGXV_2335739.png

weight越小的,所占宽度反而更大,类似于优先级,weigth越小,优先级越高


转载于:https://my.oschina.net/carbenson/blog/479838

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值