1

我似乎无法将 EditText 的宽度设置为 wrap_content。我的意思是让 EditTexts 的宽度与其中的文本/提示的大小相同

这是我的 XML 的片段

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/tableLayout"
    android:background="#FFF"
    android:padding="5dp"
    android:stretchColumns="1,2,3" >

    <TableRow
        android:id="@+id/tableRow0"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/tvBill"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Bill Total" />

            <EditText
                android:id="@+id/etBill"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:hint="0.00"
                android:textSize="14sp" >

                <requestFocus />
            </EditText>
    </TableRow>

    ...
</TableLayout>

因为我是新来的,所以我不能发布图片所以这里是一个布局编辑器

4

2 回答 2

4

属性 android:ems 设置 EditText 字段的宽度。由于您已将其设置为 10,因此您将始终看到一个可容纳 10 个字符的字段。所以删除 android:ems 应该会有所帮助。

于 2013-06-26T18:34:20.653 回答
2

我认为要解决您的问题,您应该删除android:layout_weight="1". 在这种情况下似乎不需要它。当您使用它时,您希望将您的 to 设置width0dpahorizontal layoutheightto0dpvertical布局。

改变你widthTableRowtowrap_content应该给你你想要的。

<TableRow
        android:id="@+id/tableRow0"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/tvBill"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Bill Total" />

        <EditText
            android:id="@+id/etBill"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ems="10"
            android:hint="0.00"
            android:textSize="14sp" >

            <requestFocus />
        </EditText>
</TableRow>

根据文档

TableRow 的子项不需要在 XML 文件中指定 layout_width 和 layout_height 属性。TableRow 始终强制这些值分别为 MATCH_PARENT 和 WRAP_CONTENT。

于 2013-06-26T17:42:48.223 回答