Android - проблема WrapText в Edittext - PullRequest
2 голосов
/ 12 января 2011

У меня проблема с настройкой WrapText в EditText.

Проблема : Когда я пытаюсь ввести данные в EditText, они выходят за пределы ширины экрана (горизонтальная прокрутка). Вместо этого должна появиться следующая строка.

Хотите выполнить: На самом деле, я хочу реализовать многострочный текст редактирования, изначально он должен отображаться с одной строкой, как обычно, но он будет расширяться по вертикали (а не по горизонтали), как при вводе данных.

Пожалуйста, предложите мне, что мне делать ??

Пожалуйста, посмотрите на изображение ниже:

alt text

Я выполнил приведенную ниже кодировку XML:

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

    <TableRow android:id="@+id/TableRow02" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TextView 
            android:text="Name:" 
            android:id="@+id/TextView01" 
            android:layout_width="80dp" 
            android:layout_height="wrap_content"
            android:textSize="16dip">
        </TextView>
        <EditText 
            android:id="@+id/txtViewName" 
            android:layout_height="wrap_content" 
            android:layout_width="wrap_content"
            android:inputType="textFilter|textMultiLine|textNoSuggestions"
            android:scrollHorizontally="false">
        </EditText>
    </TableRow>
</TableLayout>

Ответы [ 5 ]

2 голосов
/ 12 января 2011

Вы можете попробовать изменить width на fill_parent.

1 голос
/ 10 октября 2011

Просто используйте android:stretchColumns="1" и android:shrinkColumns="1" вместо единственного android:stretchColumns="1":

<TableLayout 
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"
    android:paddingTop="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:stretchColumns="1"
    android:shrinkColumns="1">
1 голос
/ 12 января 2011

Я просто изменил это: android:layout_width ="0dip" и все работает нормально.

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

1 голос
/ 12 января 2011

попробуйте добавить следующий код в текст для редактирования, если вы хотите заключить его в одну строку:

android:singleLine="true"

ИЛИ установите ширину вашего текста редактирования на fill_parent или любое значение в dip, если вы хотите многострочное.

0 голосов
/ 12 января 2011

Я проверил его на эмуляторе 2.1, включающем код (с fill_parent в тексте редактирования) внутри этого относительного макета, и кажется, что все в порядке.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
<TableLayout
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:paddingTop="10dp"
    android:paddingLeft="10dp"
    android:paddingRight="10dp"
    android:stretchColumns="1">

    <TableRow android:id="@+id/TableRow02" android:layout_width="fill_parent" android:layout_height="wrap_content">
        <TextView
            android:text="Name:"
            android:id="@+id/TextView01"
            android:layout_width="80dp"
            android:layout_height="wrap_content"
            android:textSize="16dip">
        </TextView>
        <EditText
            android:id="@+id/txtViewName"
            android:layout_height="wrap_content"
            android:layout_width="fill_parent"
            android:inputType="textFilter"
            android:scrollHorizontally="false">
        </EditText>
    </TableRow>
</TableLayout>
</RelativeLayout>

Возможно, вы можете перемещаться по дереву xml в окне контура затмения и видеть, какой вид больше экрана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...