关于输入法的显示与隐藏的问题

将输入法软键盘打开的方法,其中之一:记得加Handler  进行PostDelayed延时操作,因为界面绘制需要时间,软键盘是在界面绘制后才会显示。
 
new Handler().postDelayed(new Runnable() {
				
	public void run() {
		InputMethodManager imm = (InputMethodManager) m_renameText.getContext(). 								getSystemService(Context.INPUT_METHOD_SERVICE);
		imm.showSoftInput(m_renameText, InputMethodManager.SHOW_FORCED);
	}
}, 100);


 如果是dialog关联的话,到此会出现dialog 关闭后软键盘仍然在显示,不会自动关闭。解决这个问题需要在onCreate()加上下面代码:

 

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN | 		WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);


或在AndroidManifest.xml里面 加上  android:windowSoftInputMode="stateAlwaysHidden | adjustPan"

你可能感兴趣的:(android)