当我使用android:layout_width="0px"
属性时,为什么要放ndroid:layout_weight
?例如,以下是我的main.xml文件,并且我使用了android:layout_width="wrap_content"
,并且一切正常,那么为什么在使用layout_weight属性时应该使用android:layout_width="0px"
?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText" android:hint="enter your name"
android:layout_weight="3"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Send"
android:id="@+id/button"
android:layout_weight="0"/>
</LinearLayout>
这就是我的布局:
答案 0 :(得分:2)
你当然不必。另外weight=0
没有多大意义。 weight
参数控制窗口小部件占用的布局中剩余空间的哪个部分。因此,设置width=0
有效地告诉它仅占用剩余空间。如果你设置width=30
,它将占用30 px | dp +所有剩余的香料。将0设置为宽度可以更轻松地在不同的屏幕尺寸上获得可预测的结果。
一个常见的模式是有两个小部件width=0
和相同的权重,使它们在父容器内的大小相同,你不关心实际的大小(宽度或高度)。
答案 1 :(得分:1)
布局重量本身用于根据重量属性给出适当的宽度。 查看this
此属性根据方式为视图指定“重要性”值 屏幕上应该占用很多空间。重量值更大 允许它展开以填充父视图中的任何剩余空间。
所以eclipse建议将宽度设为0px
答案 2 :(得分:1)
layout_weight您可以指定多个视图之间的大小比例。
E.g。你有一个Tabelview和一个图像,它应该显示布局的一些额外信息。表格应使用屏幕的3/4,图像应使用屏幕的1/4。然后,您将tabelview的layout_weight设置为3,将图像的layout_weight设置为1.
要使其正常工作,您还必须将高度或宽度设置为0px。
http://developer.android.com/guide/topics/ui/declaring-layout.html#CommonLayouts