2011-10-26 24 views
2

我最近有一個錯誤,我的小EditText膨脹起來,以填充任何空間不被軟鍵盤消耗。但只能在橫向模式下使用。什麼是Android「提取的文本UI」?

我張貼這一點,得到了我需要添加Android的一個有用的StackOverflow成員快速響應:imeOptions =「flagNoExtractUi」,所以我沒有和它的工作!

但我仍然不明白。該文檔說,它是「用於指定IME不需要顯示其提取的文本UI」好的,那是什麼? 的「搜索開發人員文檔」功能顯示在文檔中使用了34次「Extracted text UI」,但我沒有注意到定義。

有人能解釋它是什麼,爲什麼它隻影響景觀模式?提前致謝。

回答

1

在橫向模式下,默認情況下,輸入法編輯器(IME)在編輯文本時控制全屏。這個想法是,在編輯更長的內容(例如電子郵件)時,橫向屏幕上沒有足夠的「垂直」空間來顯示除EditText和軟鍵盤以外的其他任何內容。

有問題的用戶界面是在這裏: http://developer.android.com/reference/android/inputmethodservice/ExtractEditText.html

+1

對於風景和肖像都沒有IME嗎?你的意思是Landscape IME接管了嗎?所以ExtractEditText從EditText派生。但我不明白它與我指定的EditText有什麼關係。 – user316117

0

當您使用該標誌在你的應用程序一個TextView,它抑制了ExtractedTextView創建於IME的頂部,當它處於「全屏幕」模式。在「全屏」模式下,允許鍵盤(IME)填滿屏幕並覆蓋用戶正嘗試編輯的應用程序的TextView。如果它要求全屏,它將被提供給它。這個ExtractedTextView框顯示了在目標TextView中出現的相同提示,讓我們的用戶看到他們的編輯進度。該標誌告訴IME不要生成ExtractedTextView,它可能會在鍵盤頂部留下一些空間,以在應用程序中查看原始TextView。

在「橫向模式」下,IME(鍵盤)的默認實現進入全屏模式。在「肖像模式」下,它的尺寸是正常尺寸(約1/3屏幕高度?)。 ExtractedTextView默認生成爲「全屏」模式,除非您將其禁用。我懷疑當你看到你的EditText「滾動」時,你實際上看着一個「全屏」模式鍵盤的ExtractedTextView。