Android 軟鍵盤彈出時佈局內指定內容上移實現及問題解決

Android SDK目前提供的軟鍵盤彈出模式接口只有兩種:android

一是彈出時自動回沖界面,將全部元素上頂,函數

一種則是不重繪界面,直接將控件元素遮住,spa


沒有其餘模式,若是想實現其餘效果,光使用系統接口是不行的。接口


解決方法:事件


第一步:給想要被頂上去的內容嵌套一個 ScrollView :get


<ScrollViewit

  android:layout_width="match_parent"scroll

  android:layout_height="0dp"方法

  android:layout_weight="1"layout

  android:scrollbars="none" 

  >

   

  …… 想要被頂上去的內容 ……

   

</ScrollView>


第二步:在  文件中給對應的 Activity 設置 android:windowSoftInputMode="adjustResize"


一些機型到這裏問題就已經解決了!


有些機型會出現點擊過 EditView 它得到了焦點也彈出了軟鍵盤,

可是收回軟鍵盤後,再點擊該 EditView 會出現被軟鍵盤遮擋的狀況,

點其它 EditView 後,再來點該 EditView 又恢復正常再也不被遮擋,

爲了解決此問題見以下:


第三步:

發現去掉 ScrollView 的 android:scrollbars="none" 屬性後問題就解決了!

但會出現滾動條,因此這個屬性不能去掉,

只需在 Activity 的 onCreate 事件處理函數中的 setContentView 方法後緊跟着寫上


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


便可解決此問題!

相關文章
相關標籤/搜索