具有editText并排表行的问题

时间:2012-04-07 16:54:05

标签: android

我无法实现表格行。我的编码不允许我为editText控件添加自定义宽度。有人可以指出表tableRow2可能出现的问题吗?我希望脚和英寸editText彼此相邻,宽度为40dp。提前谢谢!

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayout01" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:orientation="horizontal">

<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow1"
    android:padding="5dp" android:layout_width="fill_parent">

    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:text="@string/grainBinType"
        android:textSize="14sp" />

    <Spinner android:id="@+id/spinner1" android:layout_height="wrap_content"
        android:layout_width="200dp" android:paddingLeft="8dp"
        android:entries="@array/grainBinTypes" android:prompt="@string/rfDefault" />

</TableRow>

<TableRow android:layout_height="wrap_content" android:id="@+id/tableRow2"
    android:padding="5dp" android:layout_width="wrap_content">

    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:text="@string/radiusOfBin"
        android:textSize="14sp" android:paddingRight="8dp" />

    <EditText android:id="@+id/editTextFeet"
        android:layout_width="40dp" android:layout_height="wrap_content"
        android:inputType="number" android:textColor="#008000" android:ems="10"
        android:paddingRight="8dp" />

    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:text="@string/feet"
        android:textSize="14sp" android:paddingRight="8dp" />

    <EditText android:id="@+id/editTextinches"
        android:layout_width="40dp" android:layout_height="wrap_content"
        android:inputType="number" android:textColor="#008000" android:ems="10" />

    <TextView android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:text="@string/inches"
        android:textSize="14sp" />
</TableRow>

1 个答案:

答案 0 :(得分:1)

首先,如果我们使用tablelayout,那么我们通常使用表行,并且在每个表行中所有元素必须相等。我的意思是在你的第一个表中有两个元素,第二个表示你有五个元素。那就是问题所在。在第一个表行中更改微调器40dp的宽度也将影响到Edittext .... 我建议您根据需要使用LinearLayout ......

使用以下代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/LinearLayout01"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical" >
<LinearLayout android:layout_height="wrap_content" android:id="@+id/tableRow1"
    android:padding="5dp" android:layout_width="fill_parent">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/grainBinType"
        android:textSize="14sp" />
    <Spinner android:id="@+id/spinner1" android:layout_height="wrap_content"
        android:layout_width="200dp" android:paddingLeft="8dp"
        android:entries="@array/grainBinTypes" android:prompt="@string/rfDefault" />

</LinearLayout>



<LinearLayout
    android:id="@+id/tableRow2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:padding="5dp" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="8dp"
        android:text="@string/radiusOfBin"
        android:textSize="14sp" />

    <EditText
        android:id="@+id/editTextFeet"
        android:layout_width="40dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:paddingRight="8dp"
        android:textColor="#008000" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingRight="8dp"
        android:text="@string/feet"
        android:textSize="14sp" />

    <EditText
        android:id="@+id/editTextinches"
        android:layout_width="40dp"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="number"
        android:textColor="#008000" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/inches"
        android:textSize="14sp" />
</LinearLayout>

</LinearLayout>