閱讀屋>計算機硬體> 解決常見的軟鍵盤遮擋的方法

解決常見的軟鍵盤遮擋的方法

解決常見的軟鍵盤遮擋的方法

  一、問題概述

  在編輯框輸入內容時會彈出軟鍵盤,而手機螢幕區域有限往往會遮住輸入介面,我們先看一下問題:

  輸入密碼時輸入框被系統鍵盤遮擋了,大大降低了使用者操作體驗,這就是開發中非常常見的軟鍵盤遮擋的問題,該如何解決?

  二、簡單解決方案

  方法1

  在你的activity中的oncreate中setContentView之前寫上這個程式碼

  getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

  方法2

  在 專案的AndroidManifest.xml檔案中介面對應的里加入

  android:windowSoftInputMode="stateVisible|adjustResize"

  這樣會讓螢幕整體上移。如果加上的 是 android:windowSoftInputMode="adjustPan"這樣鍵盤就會覆蓋螢幕。

  關於android:windowSoftInputMode

  activity主視窗與軟鍵盤的互動模式,可以用來避免輸入法面板遮擋問題,Android1.5後的一個新特性。

  這個屬效能影響兩件事情:

  【一】當有焦點產生時,軟鍵盤是隱藏還是顯示

  【二】是否減少活動主視窗大小以便騰出空間放軟鍵盤

  它的設定必須是下面列表中的一個值,或一個”state…”值加一個”adjust…”值的.組合。在任一組設定多個值——多個”state…”values,例如&mdash有未定義的結果。各個值之間用|分開。

  例如:

  在這設定的值(除"stateUnspecified"和"adjustUnspecified"以外)將覆蓋在主題中設定的值

  各值的含義:

  【A】stateUnspecified:軟鍵盤的狀態並沒有指定,系統將選擇一個合適的狀態或依賴於主題的設定

  【B】stateUnchanged:當這個activity出現時,軟鍵盤將一直保持在上一個activity裡的狀態,無論是隱藏還是顯示

  【C】stateHidden:使用者選擇activity時,軟鍵盤總是被隱藏

  【D】stateAlwaysHidden:當該Activity主視窗獲取焦點時,軟鍵盤也總是被隱藏的

  【E】stateVisible:軟鍵盤通常是可見的

  【F】stateAlwaysVisible:使用者選擇activity時,軟鍵盤總是顯示的狀態

  【G】adjustUnspecified:預設設定,通常由系統自行決定是隱藏還是顯示

  【H】adjustResize:該Activity總是調整螢幕的大小以便留出軟鍵盤的空間

  【I】adjustPan:當前視窗的內容將自動移動以便當前焦點從不被鍵盤覆蓋和使用者能總是看到輸入內容的部分

  方法3

  把頂級的layout替換成ScrollView,或者說在頂級的Layout上面再加一層ScrollView。這樣就會把軟鍵盤和輸入框一起滾動了,軟鍵盤會一直處於底部。

  但這些方法雖然比較簡單,但往往都有一定的侷限性不是很靈活,有時達不到預期效果,大家可以試試或許也能解決你的問題,下面就教大家一種具有程式碼可控性的一種方法:

  三、程式碼可控性方法

  鍵盤關閉:以上所述是小編給大家介紹的Android軟鍵盤遮擋的四種完美解決方案,希望對大家有所幫助,如果大家有任何疑問請給我們留言,小編會及時回覆大家的。在此也非常感謝大家對的支援!

【解決常見的軟鍵盤遮擋的方法】相關文章: