Переход на новую строку Android текст EditText

Я пытался получить мое поле EditText к переходу на новую строку, но, может казаться, не делаю это.

Я занимался намного более сложными проблемами при разработке приложений Android, и это кажется, что должен быть простой процесс.

Однако проблема остается, и у меня есть поле крупного текста, которое только позволяет мне вводить текст на одной строке, продолжаясь прямо через, прокручивая горизонтально, поскольку я ввожу текст.

Вот код XML для объекта EditText из моего файла расположения.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    android:id="@+id/myWidget48"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android"
    >
 <ScrollView
    android:id="@+id/myScrollView"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    >
    <LinearLayout
        android:id="@+id/widget37"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
    >

<EditText
        android:id="@+id/txtNotes"
        android:layout_width="300px"
        android:layout_height="120px"
        android:scrollbars="vertical"
        android:textSize="18sp"
        android:gravity="left"
        android:layout_marginTop="10dip"
        android:inputType="textCapSentences"
        >
    </EditText>
</LinearLayout>
</ScrollView>
</LinearLayout>
69
задан Shree 18 April 2019 в 04:18
поделиться

3 ответа

Помимо поиска источник проблемы, я нашел решение. Если используется android: inputType , то необходимо использовать textMultiLine для включения поддержки многострочного типа. Кроме того, использование inputType заменяет код android: singleLine = "false" . Если используется inputType, то, повторюсь, необходимо использовать textMultiLine, иначе объект EditText будет состоять только из одной строки без переноса слов.

Редактировать: Спасибо Джейкобу Маллиету за дальнейшие полезные советы по этому поводу. Он предложил установить для логического свойства scrollHorizontally значение false, 'android: scrollHorizontally = "false"' .

Пример кода XML:

<EditText
    android:id ="@+id/edtInput"
    android:layout_width ="0dip" 
    android:layout_height ="wrap_content" 
    android:layout_weight ="1" 
    android:inputType="textCapSentences|textMultiLine"
    android:maxLines ="4" 
    android:maxLength ="2000" 
    android:hint ="@string/compose_hint"
    android:scrollHorizontally="false" />
159
ответ дан 24 November 2019 в 13:38
поделиться

Я разобрался. Строка

android:inputType="textCapSentences"

была проблемой. Добавление этой строки к объекту EditText сделает объект EditText одной строкой и не позволит переносить слова или позволить пользователю нажать «Enter» для вставки перевода строки или возврата каретки в EditText.

10
ответ дан 24 November 2019 в 13:38
поделиться

Хорошо, я понял, вы должны установить android: scrollHorizontally = "false" для своего EditText в вашем xml. Я почти уверен, что это должно сработать.

19
ответ дан 24 November 2019 в 13:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: