Android 带句子大写的 EditText 多行
Android EditText MultiLine with Sentence Caps
我正在尝试实例化具有多行功能以及第一个字符大写标志的 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)
我也试过将标志与 plus 组合,而不是 or:
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)
但是,出于某种原因,我只能获得多行或首字符大写,而不能同时获得两者。结果要么是 键盘没有 return 键 ,要么是 return 键只是在同一行添加空格 .
我是不是少了一面旗帜,或者使用的是破旧的旗帜?
编辑: 我忘了说我的 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。
我正在尝试实例化具有多行功能以及第一个字符大写标志的 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)
我也试过将标志与 plus 组合,而不是 or:
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)
但是,出于某种原因,我只能获得多行或首字符大写,而不能同时获得两者。结果要么是 键盘没有 return 键 ,要么是 return 键只是在同一行添加空格 .
我是不是少了一面旗帜,或者使用的是破旧的旗帜?
编辑: 我忘了说我的 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。