什么是Android“提取文本用户界面”?

时间:2011-10-26 16:51:42

标签: android android-extracted-text

我最近有一个错误,我的小EditText正在膨胀以填充软键盘没有消耗的任何空间。但仅限于横向模式。

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

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

有人可以解释一下它是什么,为什么它只会影响风景模式?提前谢谢。

2 个答案:

答案 0 :(得分:3)

在横向模式下,默认情况下,输入法编辑器(IME)可在编辑文本时控制整个屏幕。这个想法是在横向屏幕上没有足够的空间来显示编辑文本和软键盘以外的任何东西,当编辑更长的东西时(例如电子邮件)。

有问题的用户界面如下: http://developer.android.com/reference/android/inputmethodservice/ExtractEditText.html

答案 1 :(得分:2)

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

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