Android EditText MultiLine 与句子大写

标签 android kotlin android-edittext ime

我正在尝试实例化一个具有多行功能以及第一个字符大写标志的 EditText ,如下所示:

myEditText?.setSingleLine(false)
myEditText?.inputType =
  InputType.TYPE_CLASS_TEXT or
  InputType.TYPE_TEXT_FLAG_CAP_SENTENCES or
  InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE
  myEditText?.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION)

我还尝试将标志与而不是组合:

myEditText?.setSingleLine(false)
myEditText?.inputType =
  InputType.TYPE_CLASS_TEXT +
  InputType.TYPE_TEXT_FLAG_CAP_SENTENCES +
  InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE
  myEditText?.setImeOptions(EditorInfo.IME_FLAG_NO_ENTER_ACTION)

但是,由于某种原因,我只能获得多行或首字符大写,但不能同时获得两者。结果要么是没有返回键的键盘,要么是仅在同一行添加空格的返回键

我是否缺少旗帜,或者可能使用了旧的旗帜?


编辑: 我忘了提及,我的 UI 纯粹是由代码构建的,没有 XML 布局文件。

最佳答案

最近,我发现当我们设置inputType时,它会覆盖singleLine设置。

  1. 设置输入类型。

  2. 设置单行 = false。

--

editText.inputType = InputType.TYPE_TEXT_FLAG_MULTI_LINE or InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
editText.setSingleLine(false)

我没有设置 imeOptions。这看起来效果很好。

这似乎适用于模拟器和 Google Pixel 3xl。

关于Android EditText MultiLine 与句子大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58917974/

相关文章:

Android EditText 值替换提示

Android 模拟器皮肤布局 - 是否有工具和规范?

android - 在android上读取原始鼠标数据

java - Kotlin、Java、JSTL boolean 互操作

java - 如何从 Android 的评级栏中删除填充?

android - EditText 没有捕捉到 ViewFlipper flings?

android - 在 WebSQL 上插入 blob

android - MediaPlayer 视频问题

android - 我从使用 MVVM 的改造中得到了多个响应 - kotlin

android - 提交失败后EditText失去边框