EditText с отдельной текстовой строкой, переносом строк и выполнением Done?

Я пытаюсь иметь EditText со следующими характеристиками при редактировании с помощью мягкой клавиши. Я подготовил документацию, выполнил поиск здесь, поиграл с параметрами, но не смог найти рабочую конфигурацию.

  1. Вид EditView на экране имеет высоту для нескольких строк (например, 3-4).
  2. Текст контента представляет собой одну строку (то есть, разрывы строк).
  3. Если текст содержимого длиннее ширины представления, он должен быть перенесен на следующую строку
  4. Клавиша «Ввод» программной клавиши показывает метку «Готово».

Я мог бы достичь {1,2,3} и {1,2,4}, но не {1,2,3,4}. Мое рациональное состоит в том, что, поскольку содержимое представляет собой одну строку (без разрывов строк), клавиша Enter не используется и, следовательно, должна быть изменена на метку Done.

Мой код установки выглядит так:

 editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES | InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE); editText.setHorizontallyScrolling(false); editText.setSingleLine(false); // This does not work. Soft keyboard has Enter action. editText.setImeOptions(EditorInfo.IME_ACTION_DONE); 

Является ли это возможным? Любое предложение?

Solutions Collecting From Web of "EditText с отдельной текстовой строкой, переносом строк и выполнением Done?"

Эта комбинация (и конкретный порядок вызовов метода EditText ) должна привести к конфигурации, которую вы хотите:

  editText.setInputType( InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES); editText.setSingleLine(true); editText.setLines(4); // desired number of lines editText.setHorizontallyScrolling(false); editText.setImeOptions(EditorInfo.IME_ACTION_DONE); 

Просто добавь

 editText.setHorizontallyScrolling(false); editText.setMaxLines(Integer.MAX_VALUE); 

С вашим экземпляром edittext в вашей деятельности программно.

Он настраивает экземпляр EditText, чтобы пользователь редактировал строку с одной строкой, которая отображается с помощью soft-wrapping на нескольких строках с параметрами IME.