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

1

В моем приложении я редактирую шесть текстов. Я сгруппировал их в два линейных макета, 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>
Теги:
android-edittext
resize

2 ответа

2
Лучший ответ

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

<EditText
    android:layout_width="0dp"
    android:layout_weight="1"
    ... />
  • 0
    В первый момент это не сработало. Но потом я сделал 3 горизонтальных линейных макета с 2 правками, и тогда это сработало. Тпх
0

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

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню