Android中軟鍵盤彈出時底部菜單上移問題


當在Android的layout設計里面如果輸入框過多,則在輸入彈出軟鍵盤的時候,下面的輸入框會有一部分被軟件盤擋住,從而不能獲取焦點輸入。
解決辦法:
方法一:在你的activity中的oncreate中setContentView之前寫上這個代碼getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

 

我的布局是RelativeLayout,底部菜單用了android:layout_alignParentBottom="true";只有用方法一有效;

int mode=WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN|WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN;
getWindow().setSoftInputMode(mode);<span id="transmark" style="display: none; width: 0px; height: 0px;"></span>


 


方法二:在項目的AndroidManifest.xml文件中界面對應的<activity>里加入android:windowSoftInputMode="stateVisible|adjustResize",這樣會讓屏幕整體上移。如果加上的是
                android:windowSoftInputMode="adjustPan"這樣鍵盤就會覆蓋屏幕。
方法三:把頂級的layout替換成ScrollView,或者說在頂級的Layout上面再加一層ScrollView的封裝。這樣就會把軟鍵盤和輸入框一起滾動了,軟鍵盤會一直處於底部。

注:方法一和二應該是同一種方法,不過一個是在代碼里實現一個是在xml文件里實現。可能會應為1.5和之前的版本不支持該方法。但是方法三是肯定沒有問題的。


文主要介紹Android中如何解決輸入法鍵盤和activity頁面遮擋的問題。
 
總結:
不希望遮擋設置activity屬性android:windowSoftInputMode="adjustPan"
希望動態調整高度android:windowSoftInputMode="adjustResize"光標


免責聲明!

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



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