如果文本很长,android edittext会自动调整宽度

时间:2012-05-28 18:39:10

标签: android android-edittext resize

在我的应用程序中,我有六个编辑文本。我将它们分为两种线性布局,3种为线性布局。 看起来应该是这样的:

| EditText1 | EditText4 |

| EditText2 | EditText5 |

| EditText3 | EditText6 |

我想编辑的文本总是大小相同。 当用户开始在字段中键入内容时会发生此问题。如果文本太长...编辑文本正在调整大小。具有焦点的那个变得更大,并且同一水平行中的那个变小。

如何防止这种情况? 我想编辑文本保持相同的大小...如果文本太长...我只需要滚动它并按照文本光标。

怎么做? TNX!

这里有一些代码:

 <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="3" >

        <EditText
            android:id="@+id/blackPlayerName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1"
            android:background="@drawable/black_name_selector"
            android:hint="@string/black"
            android:inputType="textPersonName"
            android:maxLength="12"
            android:singleLine="true"
            android:textColor="@drawable/player_name_textcolor"
            android:textColorHint="@drawable/player_name_textcolor" />

        <EditText
            android:id="@+id/redPlayerName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1"
            android:background="@drawable/red_name_selector"
            android:hint="@string/red"
            android:inputType="textPersonName"
            android:maxLength="12"
            android:singleLine="true"
            android:textColor="@drawable/player_name_textcolor"
            android:textColorHint="@drawable/player_name_textcolor" />

        <EditText
            android:id="@+id/whitePlayerName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="5dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1"
            android:background="@drawable/white_name_selector"
            android:hint="@string/white"
            android:inputType="textPersonName"
            android:maxLength="12"
            android:singleLine="true"
            android:textColor="@color/black"
            android:textColorHint="@color/black" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical"
        android:weightSum="3" >

        <EditText
            android:id="@+id/bluePlayerName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1"
            android:background="@drawable/blue_name_selector"
            android:hint="@string/blue"
            android:inputType="textPersonName"
            android:maxLength="12"
            android:singleLine="true"
            android:textColor="@drawable/player_name_textcolor"
            android:textColorHint="@drawable/player_name_textcolor" />

        <EditText
            android:id="@+id/greenPlayerName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1"
            android:background="@drawable/green_name_selector"
            android:hint="@string/green"
            android:inputType="textPersonName"
            android:maxLength="12"
            android:singleLine="true"
            android:textColor="@drawable/player_name_textcolor"
            android:textColorHint="@drawable/player_name_textcolor" />

        <EditText
            android:id="@+id/yellowPlayerName"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="10dp"
            android:layout_marginTop="5dp"
            android:layout_weight="1"
            android:background="@drawable/yellow_name_selector"
            android:hint="@string/yellow"
            android:inputType="textPersonName"
            android:maxLength="12"
            android:singleLine="true"
            android:textColor="@color/black"
            android:textColorHint="@color/black" />
    </LinearLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:2)

对于每个编辑文本,将layout_width设置为0dp,将layout_weight设置为1

<EditText
    android:layout_width="0dp"
    android:layout_weight="1"
    ... />

答案 1 :(得分:0)

尝试使用TableLayout

<TableLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">

    <TableRow>
        <EditText ...>
        <EditText ...>
        <EditText ...>
    </TableRow>

    <TableRow>
        <EditText ...>
        <EditText ...>
        <EditText ...>
    </TableRow>
</TableLayout>