editText视图不关注layout_width

时间:2012-04-14 14:50:53

标签: android android-layout

我遇到了布局问题。我在表格行中有三个editText视图。它们各自具有相同的属性,但前两个不会介意我设置的layout_width。 注意:每个提示都有相同数量的字符。

解答:删除了表并使用了嵌套的线性布局。

    <TableRow
        android:id="@+id/tableRowQuad1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal" >

            <EditText
                android:id="@+id/editTextQuadA"
                android:layout_width="50sp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="numberDecimal|numberSigned"
                android:hint="@string/hintA" />

            <EditText
                android:id="@+id/editTextQuadB"
                android:layout_width="50sp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="numberDecimal|numberSigned"
                android:hint="@string/hintB" />

            <EditText
                android:id="@+id/editTextQuadC"
                android:layout_width="50sp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="numberDecimal|numberSigned"
                android:hint="@string/hintC" />

    </TableRow>

editTextQuadC显示正确的宽度,但A和B保持相同的大小,除非我使它大于它们出现的大小。它们似乎出现在75-85 sp左右。提前谢谢。

1 个答案:

答案 0 :(得分:1)

只需将tableRow更改为LinearLayout并尝试正常工作,如下所示::

<LinearLayout
        android:id="@+id/tableRowQuad1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="center_horizontal" >

            <EditText
                android:id="@+id/editTextQuadA"
                android:layout_width="50sp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="numberDecimal|numberSigned"
                android:hint="@string/hintA" />

            <EditText
                android:id="@+id/editTextQuadB"
                android:layout_width="50sp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="numberDecimal|numberSigned"
                android:hint="@string/hintB" />

            <EditText
                android:id="@+id/editTextQuadC"
                android:layout_width="50sp"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="numberDecimal|numberSigned"
                android:hint="@string/hintC" />

    </LinearLayout>

因为如果你使用表格行,它的宽度依赖于其他表格行。