0

我有一個TabActivity,其屏幕的底部爲。我的第一個選項卡包含一個活動,該活動由屏幕頂部的固定標題佈局以及包含多個EditText控件的下方的ScrollView組成。 ScrollView在標題欄和底部標籤之間滾動它的內容,當點擊EditText並出現軟鍵盤時會出現問題。我知道當鍵盤出現時控制視圖的行爲,我需要在清單XML文件中使用windowSoftInputMode屬性。但我已經嘗試了以下兩種設置:Android - 在TabActivity中託管的ScrollView活動和windowSoftInputMode

adjustResize - 爲ScrollView提供了正確的功能,並且標題佈局保持固定在屏幕的頂部。但是,標籤欄控件被推到鍵盤的頂部。

adjustPan - 標籤欄控件保留在鍵盤下面的屏幕底部(這是我想要的),但其他視圖被鍵盤向上推,意味着頁眉佈局被從屏幕上推開。

看來我需要兩種設置的特性,但不能一起使用。我聽說過設置adjustNothing,但是如果我嘗試這個,我的項目無法構建,因爲它無法識別此設置。我想我需要我的標籤主機活動adjustPan,但我的內容活動有adjustResize,但似乎你不能合併這兩者,因爲它是優先選項卡主機活動。

任何幫助非常感謝。

+0

不知道它是否有幫助,因爲我無法測試它,但檢查這個答案,也許你可以通過編程方式在內容中設置屬性http://stackoverflow.com/a/6138509/562840 – Mikel

+0

感謝您的建議,看了有前途但沒有工作:-(。 –

回答

0

在沒有任何直接解決方案的情況下,我採取了一種黑客手段。我已將TabHost活動設置爲adjustResize,然後編寫代碼以在軟鍵盤顯示/消失時隱藏/取消隱藏標籤欄控件(TabWidget)。我最終得到了一個非常好的結果,使用這裏的技巧:Adjust layout when soft keyboard is on來檢測鍵盤出現/消失。