Android XML权重带来了宽度问题

Android XML权重带来了宽度问题,android,xml,Android,Xml,问题有点难以解释,因此我将使用以下图片: 这就是我想要的外观,但目前没有一个编辑框具有布局\u宽度。当我添加一个布局\u width(无论是哪种类型)时,会发生以下情况: 这是什么原因?我怎样才能让它看起来像第一张图片,但保持宽度(如果没有布局_width,则无法启动应用程序?哦,我想避免使用特定的单位,因为它在更大的设备上看起来很糟糕,或者至少我认为它是(我有一个Galaxy便笺) 这是我的代码,专门用于radiogroup和EditText(按钮位于主布局中: <LinearLa

问题有点难以解释,因此我将使用以下图片:

这就是我想要的外观,但目前没有一个编辑框具有
布局\u宽度
。当我添加一个
布局\u width
(无论是哪种类型)时,会发生以下情况:

这是什么原因?我怎样才能让它看起来像第一张图片,但保持宽度(如果没有
布局_width
,则无法启动应用程序?哦,我想避免使用特定的单位,因为它在更大的设备上看起来很糟糕,或者至少我认为它是(我有一个Galaxy便笺) 这是我的代码,专门用于radiogroup和EditText(按钮位于主布局中:

 <LinearLayout
    android:weightSum="100" 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <EditText android:id="@+id/X1" 
        android:layout_width="fill_parent"  
        android:layout_weight="20" 
        android:layout_height="wrap_content" 
        android:ems="10" 
        android:gravity="center" 
        android:inputType="number|numberDecimal" 
        android:singleLine="true">
        <requestFocus/>
    </EditText>

<EditText android:layout_weight="20"
    android:id="@+id/Y1"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:ems="10" android:gravity="center" 
    android:inputType="number|numberDecimal" 
    android:singleLine="true"/>

<RadioGroup android:id="@+id/radioGroup1" android:layout_weight="20" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center">
    <RadioButton android:id="@+id/plus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:gravity="center|center_horizontal" android:text="+"/>
    <RadioButton android:id="@+id/minus" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1" android:gravity="center" android:text="-"/>
    <RadioButton android:id="@+id/multiply" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center|center_horizontal" android:text="*"/>
    <RadioButton android:id="@+id/div" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:text="/"/>
</RadioGroup>

<EditText android:id="@+id/X2" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:layout_weight="20" 
    android:ems="10" 
    android:gravity="center" 
    android:inputType="number|numberDecimal"/>

<EditText android:id="@+id/Y2" 
    android:layout_weight="20"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:ems="10" 
    android:gravity="right" 
    android:inputType="number|numberDecimal"/>

</LinearLayout> 

通常,您可以将要加权的轴设置为0dp

在您的情况下,将layoutWidth设置为0dp


这将使它们保持不变。

工作谢谢,当站点允许我时,将接受作为答案:)它工作正常,在eclipse中看起来很好,但当我运行模拟器时,它会在第二个图像中显示出来。帮助?:\n您可能还需要删除ems值,因为我认为这是强制宽度。