什么是android:布局

我不明白如何使用这个属性。 谁能告诉我更多关于它的事吗?


使用layout_weight可以指定多个视图之间的大小比例。 比如你有一个MapView和一个table ,它应该向地图显示一些额外的信息。 地图应该使用3/4的屏幕,桌子应该使用1/4的屏幕。 然后,将maplayout_weight设置为3,将tablelayout_weight设置为1。

为了得到它的工作,你还必须设置高度或宽度(取决于你的方向)为0px。


简而言之, layout_weight指定要分配给视图的多少额外空间。

LinearLayout支持为每个孩子分配权重。 此属性为视图指定了“重要性”值,并允许其展开以填充父视图中的任何剩余空间。 视图的默认权重为零。

计算分配子女之间的任何剩余空间

一般来说,公式是:

分配给孩子的空间=(孩子的个人体重)/(线性布局中每个孩子的体重总和)

例1

如果有三个文本框,其中两个声明权重为1,而第三个权重不为0,则剩余空间分配如下:

第一个文本框= 1 /(1 + 1 + 0)

第二个文本框= 1 /(1 + 1 + 0)

第3个文本框= 0 /(1 + 1 + 0)

例2

假设我们在水平行中有一个文本标签和两个文本编辑元素。 该标签没有指定layout_weight ,因此占用了渲染所需的最小空间。 如果两个文本编辑元素中的每一个的layout_weight设置为1,则父级布局中的剩余宽度将在它们之间平均分配(因为我们声称它们同样重要)。

计算:

第一个标签= 0 /(0 + 1 + 1)

第二个文本框= 1 /(0 + 1 + 1)

第三个文本框= 1 /(0 + 1 + 1)

如果第一个文本框的layout_weight为1,而第二个文本框的layout_weight为2,那么剩余空间的三分之一将被赋予第一个,而第二个文本框的第三个将被赋予第二个(因为我们声称第二个更重要)。

计算:

第一个标签= 0 /(0 + 1 + 2)

第二个文本框= 1 /(0 + 1 + 2)

第3个文本框= 2 /(0 + 1 + 2)


源文章


添加到其他答案,让这个工作最重要的是将布局宽度(或高度)设置为0px

android:layout_width="0px"

否则你会看到垃圾

链接地址: http://www.djcxy.com/p/91383.html

上一篇: What does android:layout

下一篇: When to call activity context OR application context?