我正在尝试实例化一个具有多行功能以及第一个字符大写标志的 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
设置。
设置输入类型。
设置单行 = 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/