Android软键盘与输入框的设置
大家开发Android或者用app的时候会发现转到输入框就会自动弹出软键盘,切换别的页面就会自动的隐藏,下面几行代码用的熟练了就行了:
1、方法一(如果输入法在窗口上已经显示,则隐藏,反之则显示)
- InputMethodManagerimm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
- imm.toggleSoftInput(0,InputMethodManager.HIDE_NOT_ALWAYS);
2、方法二(view为接受软键盘输入的视图,SHOW_FORCED表示强制显示)
- InputMethodManagerimm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
- imm.showSoftInput(view,InputMethodManager.SHOW_FORCED);
- imm.hideSoftInputFromWindow(view.getWindowToken(),0);//强制隐藏键盘
3、调用隐藏系统默认的输入法
- ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);(WidgetSearchActivity是当前的Activity)
4、获取输入法打开的状态
- InputMethodManagerimm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
- booleanisOpen=imm.isActive();//isOpen若返回true,则表示输入法打开
5你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
6在项目的AndroidManifest.xml文件中界面对应的<activity>里加入android:windowSoftInputMode="stateVisible|adjustResize",这样会让屏幕整体上移。如果加上的是
android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。
7把顶级的layout替换成ScrollView,或者说在顶级的Layout上面再加一层ScrollView的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。
注:方法一和二应该是同一种方法,不过一个是在代码里实现一个是在xml文件里实现。可能会应为1.5和之前的版本不支持该方法。但是方法三是肯定没有问题的。
(注在:以上内容来自网络:
http://blog.csdn.net/h7870181/article/details/8332991
http://www.cnblogs.com/androidez/archive/2013/04/09/3011399.html
)
我会提供更多的实用方法给大家,谢谢大家的关注!
更多相关文章
- Android获取系统时间方法的总结
- Intent传递对象的两种方法(Serializable,Parcelable)
- [置顶] Android之ContextMenu的使用方法以及与OptionMenu的区别
- INSTALL_FAILED_CONFLICTING_PROVIDER 错误解决方法
- File "/Volumes/android/.repo/repo/main.py", line 531, in _Ma
- Android Adapter 接口中几个方法的研究
- 解决软键盘弹出,同时把底部按钮顶上去问题