Android 輸入法鍵盤和activity頁面遮擋問題解決

相信大家在開發時會遇到彈出軟鍵盤後,輸入框上移就看不到輸入框了,其實只要將Webview放到了ScrollView中,將ScrollView改爲LinearLayout問題解決了,不會在彈出軟鍵盤後大幅滾動。不過下面還是詳細介紹下軟鍵盤和activity頁面遮擋的問題。

 

通常情況下如果我們在一個輸入框輸入內容,輸入法鍵盤彈出時,activity自動設置高度,相當於在activity向上滾動了添加了輸入法鍵盤的高度。但有時可能淹沒當前的輸入框,如果希望輸入法鍵盤彈出時不自動向上擠壓activity,在activty中設置屬性android:windowSoftInputMode="adjustPan",這樣輸入法可以覆蓋Activity顯示,如下:

<activityandroid:name="testActivity" 
      android:windowSoftInputMode="adjustPan">


設置屬性爲android:windowSoftInputMode="adjustResize"即可自動調整高度。

 

屬性stateVisible表示默認顯示輸入法鍵盤,其他屬性見:android:windowSoftInputMode

 

adjustPan同樣存在問題,即可能需要關閉軟鍵盤,定位被擋住的輸入框,我希望的是介於adjustPanadjustResize之間的解決方案,即軟鍵盤會對activity有一定擠壓,但是焦點所在輸入框始終會顯示在屏幕上,有會的朋友歡迎留言分享,個人覺得可能的解決方案是new一個LinearLayout,重寫其中的

protected voidonSizeChanged(int w, int h, int oldw, int oldh)


當然,開發完APP也是需要進行全方位的檢測:www.ineice.com


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章