Как разрешить многострочный просмотр в Android EditText
?
Разрешить многострочный просмотр в EditText в Android?
Ответ 1
По умолчанию все виджеты EditText
в Android являются многоуровневыми.
Вот пример кода:
<EditText
android:inputType="textMultiLine" <!-- Multiline input -->
android:lines="8" <!-- Total Lines prior display -->
android:minLines="6" <!-- Minimum lines -->
android:gravity="top|left" <!-- Cursor Position -->
android:maxLines="10" <!-- Maximum Lines -->
android:layout_height="wrap_content" <!-- Height determined by content -->
android:layout_width="match_parent" <!-- Fill entire width -->
android:scrollbars="vertical" <!-- Vertical Scroll Bar -->
/>
Ответ 2
Вы можете найти это лучше использовать:
<EditText
...
android:inputType="textMultiLine"
/>
Это потому, что android:singleLine
устарела.
Ответ 3
Это работает для меня, на самом деле эти два атрибута важны: inputType и строки. Кроме того, вам может понадобиться полоса прокрутки, приведенный ниже код показывает, как сделать это:
<EditText
android:id="@+id/addr_edittext"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="top|left"
android:inputType="textEmailAddress|textMultiLine"
android:lines="20"
android:minLines="5"
android:scrollHorizontally="false"
android:scrollbars="vertical" />
Ответ 4
Вот как я применил приведенный ниже фрагмент кода, и он работает нормально. Надеюсь, это кому-нибудь поможет.
<EditText
android:id="@+id/EditText02"
android:gravity="top|left"
android:inputType="textMultiLine"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:lines="5"
android:scrollHorizontally="false"
/>
Ура!...Спасибо.
Ответ 5
Попробуйте это, добавьте эти строки в текст редактирования текста, я добавлю свое. убедитесь, что вы это поняли.
android:overScrollMode="always"
android:scrollbarStyle="insideInset"
android:scrollbars="vertical"
<EditText
android:inputType="textMultiLine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/editText_newprom_description"
android:padding="10dp"
android:lines="5"
android:overScrollMode="always"
android:scrollbarStyle="insideInset"
android:minLines="5"
android:gravity="top|left"
android:scrollbars="vertical"
android:layout_marginBottom="20dp"/>
а в вашем классе java сделайте на клик-перечислителе этот текст редактирования следующим образом: я добавлю свои имена, имена chane в соответствии с вашими.
EditText description;
description = (EditText)findViewById(R.id.editText_newprom_description);
description.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
view.getParent().requestDisallowInterceptTouchEvent(true);
switch (motionEvent.getAction() & MotionEvent.ACTION_MASK){
case MotionEvent.ACTION_UP:
view.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
return false;
}
});
это отлично работает для меня
Ответ 6
В EditText есть свойство singleLine. Вы можете установить в XML или вызвать setSingleLine (false); http://developer.android.com/reference/android/widget/TextView.html#setSingleLine%28%29
Ответ 7
Все это хорошо, но не будет работать, если у вас есть edittext внутри прокрутки верхнего уровня. Возможно, наиболее распространенным примером является представление "Настройки", в котором так много элементов, что они выходят за пределы видимой области. В этом случае вы помещаете их в список прокрутки, чтобы сделать параметры прокручиваемыми. Если вам понадобится многострочный прокручиваемый текст редактирования в ваших настройках, его прокрутка не будет работать.
Ответ 8
Чтобы отключить количество строк, которые ранее были назначены в теме, используйте атрибут xml: android:lines="@null"
Ответ 9
<EditText
android:id="@id/editText" //id of editText
android:gravity="start" // Where to start Typing
android:inputType="textMultiLine" // multiline
android:imeOptions="actionDone" // Keyboard done button
android:minLines="5" // Min Line of editText
android:hint="@string/Enter Data" // Hint in editText
android:layout_width="match_parent" //width editText
android:layout_height="wrap_content" //height editText
/>
Ответ 10
Я узнал об этом из http://www.pcsalt.com/android/edittext-with-single-line-line-wrapping-and-done-action-in-android/, хотя сам сайт мне не нравится. Если вы хотите многострочный, но хотите сохранить кнопку ввода в качестве кнопки сообщения, установите для списка "горизонтальная прокрутка" значение false.
android:scrollHorizontally="false"
Если он не работает в xml, это делает его программно странно работает.
listView.setHorizontallyScrolling(false);
Ответ 11
Еще одна аккуратная вещь - использовать android:minHeight
вместе с android:layout_height="wrap_content"
. Таким образом, вы можете установить размер редактирования, когда он пуст, а когда пользователь вводит материал, он растягивается в зависимости от того, сколько пользователь вводит, включая несколько строк.
Ответ 12
<EditText
android:hint="Address"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:inputType="textMultiLine|textNoSuggestions"
android:id="@+id/edittxtAddress"
android:layout_marginLeft="@dimen/textsize2"
android:textColor="@android:color/white"
android:scrollbars="vertical"
android:minLines="2"
android:textStyle="normal" />
и в Activity для удаления "\n" пользователь нажимает следующую строку
String editStr= edittxtAddress.getText().toString().trim();
MyString= editStr.replaceAll("\n"," ");
Ответ 13
android:inputType="textMultiLine"
Эта строка кода работает для меня. Добавьте этот код, который вы редактируете, в свой XML файл.