ドキュメントによると:
IME_FLAG_NO_EXTRACT_UI : フルスクリーンの可能性のある入力メソッドの場合、多くの場合、ランドスケープ モードの場合、これにより、それらを小さくして、アプリケーションの一部を背後に表示させることができます。ユーザーが利用できるアプリケーションへのアクセスは制限される可能性がありますが、(ほとんどの場合) フルスクリーン IME のエクスペリエンスが不快にならないようにすることができます。このフラグが指定されている場合、IME はテキストを表示できるように設定されていない可能性があるため、これが必要ない状況でのみ使用する必要があることに注意してください。
スマートフォンの画面は小さいため、ユーザーが UI 全体を見て正しく操作することが難しくなる可能性があります。特に、横向きモードで画面に収まらない「背の高い」UI 要素がある場合はそうです。
更新:OSレベルの観点から見ると、ソリューションは(少なくともICS内に)ありますandroid/inputmethodservice/InputMethodService.java:2107
:
/**
* Called when the fullscreen-mode extracting editor info has changed,
* to determine whether the extracting (extract text and candidates) portion
* of the UI should be shown. The standard implementation hides or shows
* the extract area depending on whether it makes sense for the
* current editor. In particular, a {@link InputType#TYPE_NULL}
* input type or {@link EditorInfo#IME_FLAG_NO_EXTRACT_UI} flag will
* turn off the extract area since there is no text to be shown.
*/
public void onUpdateExtractingVisibility(EditorInfo ei) {
if (ei.inputType == InputType.TYPE_NULL ||
(ei.imeOptions&EditorInfo.IME_FLAG_NO_EXTRACT_UI) != 0) {
// No reason to show extract UI!
setExtractViewShown(false);
return;
}
setExtractViewShown(true);
}
この機能を削除するには、onUpdateExtractingVisibility(EditorInfo)
おそらくsetExtractViewShown(false)
を呼び出さずにオーバーライドして呼び出す必要がありますsuper
。