How to implement Multiline EditText with ActionDone button (without Enter button)
Continuing Ruslan's answer. The trick worked but there is one more thing that you need to take care of in XML.
EditText
should have input type text
otherwise actionDone
won't work. Default input type of EditText
does allow user to input line breaks so inputType should be set to text
i.e.
android:inputType="text"
//And of course
android:imeOptions="actionDone"
And in your java class you need to add:
editText.setHorizontallyScrolling(false);
Use
editText.setImeOptions(EditorInfo.IME_ACTION_DONE);
editText.setRawInputType(InputType.TYPE_CLASS_TEXT);
and in XML:
android:inputType="textMultiLine"
Source : Multi-line EditText with Done action button
Finally, after searching here for similar threads I have found solution. Just need to add these lines on your Activity/Fragment:
editText.setHorizontallyScrolling(false);
editText.setMaxLines(Integer.MAX_VALUE);
For some reason it doesn't work if you apply exact same setting from xml. You should do it programmatically.
There is also another possible solution - derive from EditText and apply EditorInfo.IME_ACTION_DONE
manually. But for me first solution looks simpler.