Android:阻止EditText走出tablerow

时间:2012-09-27 13:50:37

标签: android textview android-edittext tablerow android-tablelayout

所以我在android中有一些带有一些表行的tablelayout。在每一行中,我都有一个textview和一个edittext。我的设置如下:

<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:paddingLeft="5dp"
    android:paddingRight="5dp"
    android:paddingTop="10dp"
    android:stretchColumns="3" >

    <TableRow
        android:id="@+id/tableRow1"
        android:layout_width="wrap_content"
        android:layout_marginBottom="5dp"
        android:paddingTop="5dp"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:background="@drawable/vnosnopolje" >


        <TextView
            android:id="@+id/textView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Up. ime"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <EditText
            android:id="@+id/uporabnisko_ime"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true" 
            android:background="@drawable/round_corners"
            android:paddingTop="3dp"
            android:paddingBottom="3dp"
            android:paddingLeft="3dp"
            android:layout_marginLeft="5dp"
            android:ems="10"
            android:inputType="text" >

            <requestFocus />
        </EditText>

    </TableRow>
    <TableRow
        android:id="@+id/tableRow2"
        android:layout_width="wrap_content"
        android:layout_marginBottom="5dp"
        android:paddingTop="5dp"
        android:paddingBottom="5dp"
        android:paddingLeft="5dp"
        android:background="@drawable/vnosnopolje" >


        <TextView
            android:id="@+id/textView3"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Geslo"
            android:textAppearance="?android:attr/textAppearanceMedium" />

        <EditText
            android:id="@+id/geslo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:singleLine="true" 
            android:background="@drawable/round_corners"
            android:inputType="textPassword"
            android:paddingTop="3dp"
            android:paddingBottom="3dp"
            android:paddingLeft="3dp"
            android:layout_marginLeft="5dp"
            android:ems="10" >
        </EditText>
    </TableRow>
 </TableLayout>

一切正常。但是当我在textview中输入更长的文本时,我的edittext会在表格行之外。所以它看起来并没有结束。我该如何解决?

2 个答案:

答案 0 :(得分:1)

只需在TextView和EditText Views中设置

android:layout_weight="1"

答案 1 :(得分:0)

也许您可以使用格式化程序强制宽​​度保留在表中。您可以在http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Formatter.html

了解更多相关信息