当前位置:知识百问>百科知识>安卓layout_weight详解

安卓layout_weight详解

2024-10-13 07:02:17 编辑:join 浏览量:556

安卓layout_weight详解

Layout_weight的属性一直很奇怪特别对于安卓开发的新手更摸不着头绪,本文根据作者的实践经验,通过完整的代码对安卓其进行深入介绍

方法/步骤

1必须要说明:Layout_weight只能用在线性布局;表格布局

以及嵌套在前两种布局中的其他布局

2例1

设置两个:android:layout_width="wrap_content"android:layout_height="wrap_content"。

属性的按钮,运行后显示

可以发现每个按钮根据自身内容设置了长宽,布局中剩余空间不变

3再看下面代码

例2

我们为每个按钮设置了android:layout_weight="1"属性运行效果

可以看到两个按钮将水平方向上剩余空间给平均分配了再看下面代码例3我们设置

按钮1android:layout_weight="1"。

按钮2android:layout_weight="2"。

运行效果

可以看到按钮2占用的空间要比按钮1大。例4

按钮1android:layout_weight="fill_parent"按钮2android:layout_weight="fill_parent"。

在例4中我们将例3中layout_width的值改为"fill_parent"其他不变运行结果如下

4结论。我们现在假设按钮1与按钮2在android:layout_width="wrap_content"时宽=w。布局管理器的宽为l.按钮1的layout_weight为1,按钮2的为2

1.当按钮的宽为w时

按钮1分得的空间为w+1/(1+2)*(l-2*w)

按钮2分得的空间为w+2/(1+2)*(l-2*w)

由于2*w2.当按钮宽为l时按钮1分得的空间为l+1/(1+2)*(l-2*l)=l+1/3(-l)=2/3l按钮2分得的空间为l+2/(1+2)*(l-2*l)=l+2/3(-l)=1/3l因为l-2l<0所以按钮1的值为2/3l,按钮2的值为1/3l了,所以按钮1的宽要大于按钮2。

2.当按钮宽为l时

按钮1分得的空间为l+1/(1+2)*(l-2*l)=l+1/3(-l)=2/3l

按钮2分得的空间为l+2/(1+2)*(l-2*l)=l+2/3(-l)=1/3l

因为l-2l<0所以按钮1的值为2/3l,按钮2的值为1/3l了,所以按钮1的宽要大于按钮2。

标签:安卓,layout,weight

版权声明:文章由 知识百问 整理收集,来源于互联网或者用户投稿,如有侵权,请联系我们,我们会立即处理。如转载请保留本文链接:https://www.zhshbaiwen.com/article/383563.html
热门文章