问题背景:在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事件中。

更多相关文章

  1. 关于Android弹出软键盘“顶起”View的问题
  2. Android 从硬件到应用:一步一步向上爬 4 -- 使用 JNI 方法调硬件
  3. Android高手进阶教程(十一)之----Android 通用获取Ip的方法(判断
  4. 通过对inflate与 findViewById 方法的探究深度了解一下Android
  5. Android 屏幕旋转生命周期以及处理方法
  6. Android实现在一个activity中添加多个listview的方法

随机推荐

  1. mysql 压缩解压版 zip 安装 详细步骤 教
  2. mysql无法登陆修复
  3. SQL主键的外键问题
  4. Amoeba实现mysql主从读写分离1
  5. 查询从wordnet mysql获取反义词?
  6. Mysql 命令行快速导入数据
  7. Qt通过ODBC连接SQL Server2008实践总结
  8. Oracle SQL Developer是一个与c#一起使用
  9. mysql中insert...select引发的死锁
  10. SQL对多个列分别进行合并的操作,100分送