如何在 Android 键盘中显示换行按钮?

Posted

技术标签:

【中文标题】如何在 Android 键盘中显示换行按钮?【英文标题】:How to show the line break button in Android keypad? 【发布时间】:2020-02-05 01:38:49 【问题描述】:

我正在使用TextInputLayout 及其多行属性在我的应用程序中构建一个文本区域,以让用户编写超过 1 行,我正在以编程方式构建它(无 xml)

TextInputLayout textInputLayout = new TextInputLayout(context);
textInputLayout.setLayoutParams(new TextInputLayout.LayoutParams(TextInputLayout.LayoutParams.MATCH_PARENT, TextInputLayout.LayoutParams.WRAP_CONTENT));

TextInputEditText field = new TextInputEditText(context);
field.setText(text);
field.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE);
field.setLayoutParams(new TextInputLayout.LayoutParams(TextInputLayout.LayoutParams.MATCH_PARENT,(int) (100 * dp)));
textInputLayout.addView(field);
myLinearLayout.addView(textInputLayout); // add text to layout

上面的代码创建了我的文本区域,但没有显示line break 按钮,而是显示了submit 按钮。

这是当前结果:

这是预期的结果(来自另一个应用程序):

我必须添加哪个属性才能像第二张图片一样显示换行按钮?

【问题讨论】:

***.com/questions/12945767/… 【参考方案1】:

How to get the keyboard to show a return key?

尝试将 IMEOptions 设置为无。

field.setImeOptions(EditorInfo.IME_ACTION_NONE);

还要检查 EditText 是否变成了 SingleLine,这也会导致完成按钮出现。

【讨论】:

我试过了,“return”按钮出现了,但是当我按下它时,是插入空格而不是换行符,不知道是不是像你说的(EditText变成了SingleLine?) 好的,我想通了,我得加InputType.TYPE_CLASS_TEXT,我去编辑问题,谢谢! 太棒了。连我都不知道。很高兴知道。 :) 这可以在其他情况下工作。 field.setLines(10);会给用户10行。但是您的解决方案看起来很整洁。

以上是关于如何在 Android 键盘中显示换行按钮?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用按钮在文本视图中显示文本?就像它是一个键盘[关闭]

如何隐藏/禁用软键盘 android 上的完成按钮?

如何即时更新编辑器操作按钮显示?

Android:如何按下软键盘上方的按钮

如何使用javascript强制关闭android键盘

Android:如何按下软键盘上方的按钮