7

我最近遇到了一个错误,我的小型 EditText 正在膨胀以填充软键盘未占用的任何空间。但仅限于横向模式。

我发布了这个并得到了一个有用的 StackOverflow 成员的快速回复,我需要添加android:imeOptions="flagNoExtractUi",所以我做到了,它成功了!

但我还是不明白。文档说它是“用于指定 IME 不需要显示其提取的文本 UI” 好的,那是什么?http://developer.android.com的“搜索开发人员文档”功能在他们的文档中显示了“提取文本 UI”这个短语使用了 34 次,但我没有注意到定义。

有人可以解释它是什么,为什么它只影响横向模式?提前致谢。

4

2 回答 2

3

在横向模式下,默认情况下,输入法编辑器 (IME) 在编辑文本时可以控制全屏。这个想法是,在编辑较长的内容(例如电子邮件)时,横向屏幕上没有足够的空间“垂直”显示除 EditText 和软键盘之外的任何内容。

有问题的用户界面在这里:http: //developer.android.com/reference/android/inputmethodservice/ExtractEditText.html

于 2011-10-26T18:30:06.153 回答
3

当您在应用程序的 TextView 中使用该标志时,它会在 IME 处于“全屏”模式时抑制在 IME 顶部创建 ExtractedTextView。当处于“全屏”模式时,允许键盘(IME)填满屏幕并覆盖用户尝试编辑的应用程序的 TextView。如果它要求全屏,它将被给予。这个 ExtractedTextView 框显示了出现在目标 TextView 中的相同提示,让用户看到他们的编辑进度。该标志告诉 IME 不要生成 ExtractedTextView,这可能会在键盘顶部留下一些空间来查看应用程序中的原始 TextView。

当处于“横向模式”时,IME(键盘)的默认实现会进入全屏模式。它是“纵向模式”中的常规尺寸(大约是屏幕高度的 1/3?)。默认情况下,ExtractedTextView 是为“全屏”模式生成的,除非您禁止它。我怀疑当你看到你的 EditText “气球”时,你实际上是在看“全屏”模式键盘的 ExtractedTextView。

于 2017-09-05T10:17:41.707 回答