Android鍵盤使用問題匯總

來源:互聯網
上載者:User

Android鍵盤使用問題匯總
1、android:windowSoftInputMode1、當有焦點產生時,軟鍵盤是隱藏還是顯示
2、是否減少活動主視窗大小以便騰出空間放軟鍵盤
2、android:imeOptions="actionSearch|flagNoFullscreen"的用法在做一個把EditText放到到ActionBar中作為搜尋方塊的功能時,設定EditText的屬性為android:imeOptions="actionSearch",會遇到一個問題,當在橫屏時,EditText的寬度會填充掉螢幕上除了軟鍵盤之外的地方,與需求不符,改為android:imeOptions="actionSearch|flagNoFullscreen"後就OK了。
3、代碼設定彈出鍵盤是否擠壓視窗

不擠壓視窗:

getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING);
擠壓視窗:

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

一共四種模式:
SOFT_INPUT_ADJUST_NOTHING
SOFT_INPUT_ADJUST_PAN
SOFT_INPUT_ADJUST_RESIZE
SOFT_INPUT_ADJUST_UNSPECIFIED

4、有時候無法調起鍵盤

有時候發現用下面代碼無法調起鍵盤:

InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(mView, 0);

有可能焦點已經落在其他非編輯框View上了,延遲一下可能就好了。IME彈出時,會檢測當前的焦點View是否有效,如果非有效焦點View,IME是彈不出來的。

mView.postDelayed(new Runnable() {@Overridepublic void run() {InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);imm.showSoftInput(mView, 0);}}, 100);



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.