2012-08-30 79 views
9

正在使用相對佈局內的滾動視圖。如何在鍵盤上顯示我的滾動佈局?

我可以在沒有鍵盤的情況下滾動到所有手機的頁面結尾,在某些手機中,我可以在鍵盤打開時完全查看滾動佈局。 (例如, ie) - 鍵盤上方滾動視圖的結尾。

我分析的問題是因爲鍵盤的類型因不同的android設備而異。

得到了一些在活動清單中添加windowSoftInputMode的答案。

還增加了:android:windowSoftInputMode="stateHidden|adjustResize"

不過還是我得到了同樣的問題。如果您有解決方案或遇到問題,請分享您的想法。謝謝你的時間。

+0

如果你可以重新提出你的問題並明確說明你的問題,那將會非常有幫助。你不想要的確切行爲是什麼?你是否希望scrollview不被鍵盤覆蓋,並在鍵盤出現時向上移動? –

+0

你需要發佈你的XML代碼以及你的佈局。 – MKJParekh

+0

@DanielSmith是的。這正是我需要你說的。 – arnp

回答

3

我遇到了這個問題,看着類似的問題。 android:windowSoftInputMode="adjustResize"有時有效,而不是其他時間。爲什麼不?

這個答案是關於Android全屏主題的。 Honeycomb (3.1) adjustResize no longer working?

對我來說,問題是這個調用的位置:getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

設置標誌切換到全屏模式會阻止正常滾動當鍵盤出現。

+0

是的,我也解決得更早。問題是全屏。 – arnp

1

試試這個代碼的onCreate:

getWindow().setSoftInputMode(
      WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
+0

加入這個 – arnp

+0

嘗試刪除「機器人:windowSoftInputMode =」沒有任何變化。stateHidden | adjustResize」,然後在OnCreate中 –

+0

添加上面的代碼不工作的傢伙 – arnp

0

你可以把配置在任何活動中AdroidManifest.xml,像這樣......

<activity android:name=".views.ViewportActivity" 
        **android:windowSoftInputMode="adjustPan|adjustResize"** 
        android:label="@string/app_name" 
        android:configChanges="locale" 
        android:screenOrientation="portrait" 
        android:theme="@android:style/Theme.NoTitleBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
      </intent-filter> 
     </activity> 
+0

上午是我用,它的爲我工作 – arnp

+0

這個涼爽的:) – IamStalker

1

這些其他的答案應該解決您的問題,所以雖然我不願意提出下面的解決方案,但是我會把它扔出去,以防萬一你按下了時間/不做一個非常關鍵的項目:使用OnGlobalLayoutListener。

真的沒有辦法可以絕對知道softkeyboard是否已經被提出(可悲),但是你可以做的是調整你的佈局,讓鍵盤空間在你的滾動視圖的下方(即重置高度爲當前高度 - 鍵盤的高度)。

an answer here這將解釋如何做到這一點很好。再一次,我不清楚你的問題是什麼,因爲我們沒有看到代碼等,這很難診斷爲什麼其他答案不解決問題......但如果你真的被卡住了 - 給它試試:)

相關問題