Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android鍵盤使用問題匯總

Android鍵盤使用問題匯總

編輯:關於Android編程

1、android:windowSoftInputMode

1、當有焦點產生時,軟鍵盤是隱藏還是顯示
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上了,延遲一下可能就好了。輸入法彈出時,會檢測當前的焦點View是否有效,如果非有效的焦點View,輸入法是彈不出來的。

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



  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved