Activity 启动后 EditText 是否自动弹出输入法虚拟键盘的问题
2017-02-08 13:53
351 查看
在开发过程中,我们经常会遇到Activity中包含EditText控件时会自动弹出虚拟键盘的情况,这是由于EditText自动获得焦点的缘故,只要让EditText失去焦点就行了,解决办法如下:
1、在Manifest.xml文件中相应的Activity下添加如下代码:
android:windowSoftInputMode="stateHidden"
2、让EditText失去焦点,用EditText的clearFocus:
EditText edt = (EditText)findViewById(R.id.edt);edt.clearFocus();
3、强制隐藏Android输入法窗口:
EditText edt = (EditText)findViewById(R.id.edt); InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(edt.getWindowToken(),
0);
4、要求EditText始终不弹出虚拟键盘:
EditText edt = (EditText)findViewById(R.id.edt); edt.setInputType(InputType.TYPE_NULL);
但有时我们确实是想让EditText自动获得焦点并弹出软键盘,在设置了EditText自动获得焦点后,软件盘不会弹出。注意:此时是由于刚跳到一个新的界面,界面未加载完全而无法弹出软键盘。此时应该适当的延迟弹出软键盘,如500毫秒(保证界面的数据加载完成,如果500毫秒仍未弹出,则延长至1000毫秒)。
1、可以在EditText后面加上一段代码:
Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodManager inputManager = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0); } }, 500);
2、给activity配置加入属性:
android:windowSoftInputMode="adjustResize"
1、在Manifest.xml文件中相应的Activity下添加如下代码:
android:windowSoftInputMode="stateHidden"
2、让EditText失去焦点,用EditText的clearFocus:
EditText edt = (EditText)findViewById(R.id.edt);edt.clearFocus();
3、强制隐藏Android输入法窗口:
EditText edt = (EditText)findViewById(R.id.edt); InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(edt.getWindowToken(),
0);
4、要求EditText始终不弹出虚拟键盘:
EditText edt = (EditText)findViewById(R.id.edt); edt.setInputType(InputType.TYPE_NULL);
但有时我们确实是想让EditText自动获得焦点并弹出软键盘,在设置了EditText自动获得焦点后,软件盘不会弹出。注意:此时是由于刚跳到一个新的界面,界面未加载完全而无法弹出软键盘。此时应该适当的延迟弹出软键盘,如500毫秒(保证界面的数据加载完成,如果500毫秒仍未弹出,则延长至1000毫秒)。
1、可以在EditText后面加上一段代码:
Timer timer = new Timer(); timer.schedule(new TimerTask() { public void run() { InputMethodManager inputManager = (InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0); } }, 500);
2、给activity配置加入属性:
android:windowSoftInputMode="adjustResize"
相关文章推荐
- Activity启动后EditText是否自动弹出输入法虚拟键盘(软键盘)的问题
- Activity启动后EditText是否自动弹出输入法虚拟键盘(软键盘)的问题
- 【ANDROID布局问题总结】Activity启动后EditText是否自动弹出输入法虚拟键盘的问题
- Activity启动后EditText是否自动弹出输入法虚拟键盘(软键盘)的问题
- Activity启动后EditText是否自动弹出输入法虚拟键盘(软键盘)的问题
- EditText是否自动弹出输入法虚拟键盘(软键盘)的问题
- 启动程序,EditText自动弹出输入法键盘问题
- Android的EditText无法自动弹出输入法问题 .
- EditText自动弹出输入法问题
- 启动Activity时,不让EditText弹出输入法-解决办法
- Activity启动edittext自动弹出软键盘解决办法
- EditText会自动获取焦点并弹出输入法的问题
- Android 输入法键盘和activity页面遮挡和自动弹出问题解决
- Android的EditText无法自动弹出输入法问题
- Android Edittext 自动弹出虚拟键盘的问题
- edittext禁止首次启动自动弹出输入法
- Android中关于跳转Activity后焦点聚在EditView后自动弹出虚拟键盘问题
- 菜鸟学android——EditText弹出输入法带来的3个问题
- Android的EditText自动获取焦点并弹出输入法问题
- AlertDialog中的EditText自动弹出输入法