在做Android应用的时候EditText是个非常常用的控件,但是经常会出现和输入法相关的问题,所以我就搜索了一些问题的解决方法,
基本上都能够把问题处理掉,本文章就整理了几个会遇到的问题以及相应的解决方法。
1.问题描述:一个Activity上面一栏有EditText,每次打开窗口,EditText就会自动获取焦点并弹出输入法,遮盖了下面的列表,这样会让
使用者很不爽,所以就要禁止输入法自动弹出
解决办法:
方案1: 在该Activity的onCreate()方法中加入如下代码:
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
方案2: 在该Activity的onCreate()方法中加入如下代码:
// 强制隐藏Android输入法窗口
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(et_search.getWindowToken(), 0);
方案3:在Manifest.xml文件中的该Activity的注册信息下,加入属性:
android:windowSoftInputMode="statehidden"
2.问题描述:android开发中有editetext,当输入时输入法会把底部的控件顶到输入法上面去,这样布局就会改变,感觉很不好,所以就需要
覆盖这些控件
解决方案:
在Manifest.xml文件中的该Activity的注册信息下,加入属性:
<activity android:windowSoftInputMode="stateVisible|adjustPan" ...>