- 相關(guān)推薦
解決常見的軟鍵盤遮擋的方法
一、問題概述
在編輯框輸入內(nèi)容時(shí)會(huì)彈出軟鍵盤,而手機(jī)屏幕區(qū)域有限往往會(huì)遮住輸入界面,我們先看一下問題:
輸入密碼時(shí)輸入框被系統(tǒng)鍵盤遮擋了,大大降低了用戶操作體驗(yàn),這就是開發(fā)中非常常見的軟鍵盤遮擋的問題,該如何解決?
二、簡(jiǎn)單解決方案
方法1
在你的activity中的oncreate中setContentView之前寫上這個(gè)代碼
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
方法2
在 項(xiàng)目的AndroidManifest.xml文件中界面對(duì)應(yīng)的里加入
android:windowSoftInputMode="stateVisible|adjustResize"
這樣會(huì)讓屏幕整體上移。如果加上的 是 android:windowSoftInputMode="adjustPan"這樣鍵盤就會(huì)覆蓋屏幕。
關(guān)于android:windowSoftInputMode
activity主窗口與軟鍵盤的交互模式,可以用來避免輸入法面板遮擋問題,Android1.5后的一個(gè)新特性。
這個(gè)屬性能影響兩件事情:
【一】當(dāng)有焦點(diǎn)產(chǎn)生時(shí),軟鍵盤是隱藏還是顯示
【二】是否減少活動(dòng)主窗口大小以便騰出空間放軟鍵盤
它的設(shè)置必須是下面列表中的一個(gè)值,或一個(gè)”state…”值加一個(gè)”adjust…”值的組合。在任一組設(shè)置多個(gè)值——多個(gè)”state…”values,例如&mdash有未定義的結(jié)果。各個(gè)值之間用|分開。
例如:
在這設(shè)置的值(除"stateUnspecified"和"adjustUnspecified"以外)將覆蓋在主題中設(shè)置的值
各值的含義:
【A】stateUnspecified:軟鍵盤的狀態(tài)并沒有指定,系統(tǒng)將選擇一個(gè)合適的狀態(tài)或依賴于主題的設(shè)置
【B】stateUnchanged:當(dāng)這個(gè)activity出現(xiàn)時(shí),軟鍵盤將一直保持在上一個(gè)activity里的狀態(tài),無論是隱藏還是顯示
【C】stateHidden:用戶選擇activity時(shí),軟鍵盤總是被隱藏
【D】stateAlwaysHidden:當(dāng)該Activity主窗口獲取焦點(diǎn)時(shí),軟鍵盤也總是被隱藏的
【E】stateVisible:軟鍵盤通常是可見的
【F】stateAlwaysVisible:用戶選擇activity時(shí),軟鍵盤總是顯示的狀態(tài)
【G】adjustUnspecified:默認(rèn)設(shè)置,通常由系統(tǒng)自行決定是隱藏還是顯示
【H】adjustResize:該Activity總是調(diào)整屏幕的大小以便留出軟鍵盤的空間
【I】adjustPan:當(dāng)前窗口的內(nèi)容將自動(dòng)移動(dòng)以便當(dāng)前焦點(diǎn)從不被鍵盤覆蓋和用戶能總是看到輸入內(nèi)容的部分
方法3
把頂級(jí)的layout替換成ScrollView,或者說在頂級(jí)的Layout上面再加一層ScrollView。這樣就會(huì)把軟鍵盤和輸入框一起滾動(dòng)了,軟鍵盤會(huì)一直處于底部。
但這些方法雖然比較簡(jiǎn)單,但往往都有一定的局限性不是很靈活,有時(shí)達(dá)不到預(yù)期效果,大家可以試試或許也能解決你的問題,下面就教大家一種具有代碼可控性的一種方法:
三、代碼可控性方法
鍵盤關(guān)閉:以上所述是小編給大家介紹的Android軟鍵盤遮擋的四種完美解決方案,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我們留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)的支持!
【解決常見的軟鍵盤遮擋的方法】相關(guān)文章:
電腦內(nèi)存常見問題分析及解決方法07-11
雅思口語考試常見問題及解決方法07-04
網(wǎng)站打不開常見錯(cuò)誤以及解決方法07-14
常見的MySQL解決方案07-11
解決演講緊張的方法07-02
常見的解釋詞語的方法07-05
常見網(wǎng)絡(luò)促銷方法07-10
物流慢的解決方法04-29
HPLC的常見問題與解決方案07-13