2011-01-05 87 views
8

我有這樣一個活動的佈局結構: 的LinearLayout - >滾動型 - > TableLayout機器人:windowSoftInputMode =「adjustResize」時,我已經有滾動型的活動

下面的TableLayout我有EditText上,這是我想要在鍵盤處於活動狀態時向上滾動。 所以根據一些閱讀我做了,我說:

android:windowSoftInputMode="adjustResize" 

到AndroidManifest.xml中,對相關活動,並且加入了滾動型包裝器activity.xml文件,因此該活動的佈局結構現在是如下: 滾動型 - >的LinearLayout - >滾動型 - > TableLayout

問題:內滾動型現在沒有工作......我想觸摸時包裝滾動型正在控制...

我該如何解決這個問題?

任何幫助將不勝感激。 謝謝。

+0

儘量避免scrollview在另一個滾動視圖中的某處。你可以捕捉它,但這不是必需的。我得到了一些問題。但是linearlayout> scrollview> tablelayout足以解決您的問題。內部滾動視圖會自動調整到正確的大小。我也會推薦添加「stateVisible」到inputMode選項 – 2011-01-05 14:47:24

+1

但是,如果我不用ScrollView包裝整個Activity,那麼當edittext點擊時Activity不會被調整大小......或者我錯了嗎?我試過沒有它,活動沒有滾動與鍵盤 - 鍵盤剛剛覆蓋EditText,再次... – ofirbt 2011-01-10 13:33:21

回答

10

我正面臨同樣的問題,虛擬鍵盤在屏幕上隱藏了EditTexts。 我介紹了活動標記的下列財產清單文件:

android:windowSoftInputMode="stateVisible|adjustResize|adjustPan" 

而且我需要在活動的OnCreate函數中添加以下代碼:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

這解決了這個問題,它的工作完全正常在所有分辨率模擬器和三星設備上。儘管如此,它確實在Google Nexus S設備上失敗,我仍然可以看到隱藏EditTexts的虛擬鍵盤的相同問題。

+11

這至少有點錯了。根據[windowSoftInputMode的文檔](http://developer.android.com/guide/topics/manifest/activity-element.html#wsoft),你不能設置多個'adjust'參數(並且它不會無論如何感覺)。 – Timmmm 2012-09-26 09:19:49

+2

該文檔沒有說你不能設置多個值,只是結果是未定義的,所以這有點破解。 – fejd 2013-03-08 10:10:20

+0

經過幾個小時的搜索解決了我的'EditText'輸入滯後問題(最多延遲5秒)。謝謝。 – 2016-07-19 20:58:22