android edittext авторизует ширину, если текст длинный

В моем приложении я шесть раз редактирую тексты. Я сгруппировал их в два линейных макета, 3 в линейном макете. Это должно выглядеть примерно так:

|РедактироватьТекст1|РедактироватьТекст4|

|РедактироватьТекст2|РедактироватьТекст5|

|РедактироватьТекст3|РедактироватьТекст6|

Я хочу, чтобы редактировать тексты всегда одного размера. Проблема возникает, когда пользователи начинают что-то вводить в поле. Если тексты слишком длинные... отредактируйте тексты, размер которых изменится. Тот, у кого есть фокус, становится больше, а тот, что в том же горизонтальном ряду, становится меньше.

Как предотвратить это? Я хочу, чтобы текст оставался того же размера... если текст слишком длинный... мне просто нужно прокрутить его и следовать за текстовым курсором.

Как это сделать? ТНС!

Вот код:

 <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>

person Veljko    schedule 28.05.2012    source источник


Ответы (2)


Для каждого из ваших текстов редактирования установите их layout_width на 0dp и layout_weight на 1.

<EditText
    android:layout_width="0dp"
    android:layout_weight="1"
    ... />
person Zaid Daghestani    schedule 28.05.2012
comment
В первый момент это не сработало. Но затем я сделал 3 горизонтальных линейных макета с 2 текстами редактирования, и тогда это сработало. спасибо - person Veljko; 29.05.2012

Попробуйте использовать TableLayout.

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

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

    <TableRow>
        <EditText ...>
        <EditText ...>
        <EditText ...>
    </TableRow>
</TableLayout>
person ajma    schedule 28.05.2012