按回车Enter键后自动隐藏软键盘、进页面自动弹出软键盘

在布局文件中EditText控件中加入属性:

android:imeOptions="actionDone"         imeOptions还有很多其他参数,比如搜索,前往...等等,依据需要选择。

一般在xml文件加入了这个属性就可以达到键盘隐藏的效果的,但有些第三方输入法问题,并不一定有效果,这时候可以再试下以下方法。

在代码中:

edtiText = (EditText) view.findViewById(R.id.input_text);
		edtiText.setOnKeyListener(new OnKeyListener() {
			
			@Override
			public boolean onKey(View v, int keyCode, KeyEvent event) {
				if (keyCode == KeyEvent.KEYCODE_ENTER) {
					InputMethodManager imm = (InputMethodManager) v.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
					if (imm.isActive()) {
						imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0);
					}
				}
				return false;
			}
		});


 

进页面自动弹出软键盘:

 在布局文件中EditText控件中加入:

android:focusable="true"
android:focusableInTouchMode="true"


对于大多数情况下,仅仅加入这些可能并不能自动弹出软键盘,还需要在代码中加入:

mGroupNameET = (EditText) findViewById(R.id.group_name_et);
		//自动弹出软键盘
		mGroupNameET.requestFocus();
		Timer timer = new Timer();
		timer.schedule(new TimerTask() {
			@Override
			public void run() {
				InputMethodManager imm = (InputMethodManager) mGroupNameET.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
				imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
			}
		}, 270); //270为延迟时间

再页面加载后270ms自动打开软键盘。

你可能感兴趣的:(android,EditText,软键盘)