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


Android SDK目前提供的軟鍵盤彈出模式接口只有兩種:
一是彈出時自動回沖界面,將所有元素上頂,
一種則是不重繪界面,直接將控件元素遮住,
 
沒有其他模式,如果想實現其他效果,光使用系統接口是不行的。
 
解決方法:
 
第一步:給想要被頂上去的內容嵌套一個 ScrollView :
 
<ScrollView
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    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);
 
即可解決此問題!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM