Android解决输入法自动弹出方法大全
问题背景:在Android应用中,当跳转到某个Activity时,该Activity显示页面的EditText获得焦点,在某些机器中会触发软键盘的自动弹出。有时候为了更好的用户体验,需要控制在用户点击EditText时才弹出软键盘,即需要才弹出。
方法一:
在androidminifest文件当中,在需要屏蔽输入法的Activity里添加属性: android:windowSoftInputMode=”adjustPan|stateHidden” 。
adjustPan:保证控件兼容
stateHidden:隐藏输入法
方法评论:简单
方法二:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEdit.getWindowToken(), 0); //myEdit是需要禁止自动弹出软键盘的EditText对象。
方法评论:比较专业。
方法三:
在activity的Oncreate()方法中添加下面这句代码即可。
//设置在activity启动的时候输入法默认是不开启的
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
需要输入的时候点击就会弹出输入法
方法四:
和方法二相似,只是设置的方法不一样:
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(0,
InputMethodManager.HIDE_NOT_ALWAYS);
该方法适用与click事件中。
更多相关文章
- 初涉Android蓝牙开发
- android的Handler
- AsyncTask的用法
- android之Fragment(官网资料翻译)
- Android中String资源文件的format方法
- Android(安卓)开发必读:如何成为一名优秀的Android开发者
- Android(安卓)获取并显示远程图片 Picasso框架的使用(二)
- 浅谈Java中Collections.sort对List排序的两种方法
- Python list sort方法的具体使用