在xml布局中,我们有时候会用到Edittext这个控件,但是每次打开所在的Activity时,总是弹出键盘,不仅阻挡了视线,有时候不想输入,还总是麻烦地要把它缩下去。
这个虽然问题不大,但是总觉得心里有点不舒服,其实解决这个加上两句简单代码就行了。
打开AndroidManifest.xml,在对应的Activity注册那里,后面加上一句android:windowSoftInputMode="adjustUnspecified|stateHidden"就行了。
例如,原来的Activity:
<activity
android:name="com.nuannuan.weather.activity.AddCitiesActivity"
android:screenOrientation="portrait" />
加上之后,
<activity
android:name="com.nuannuan.weather.activity.AddCitiesActivity"
android:windowSoftInputMode="adjustUnspecified|stateHidden"
android:screenOrientation="portrait" />
若想代码控制软键盘隐藏,可用
InputMethodManager imm =(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editText.getWindowToken(), 0);
我们编辑editText时,软件盘会自动弹出,如果此时EditText上面有一个listview列表,它会自动覆盖住listview,而有时我们需要listview的数据全部往上移动,软件盘弹出后把listview整个往上推,则只用在listview里加一行属性
android:transcriptMode="normal"
有时候不想自动获取EditText的焦点,可以在其它控件获取焦点,在其他控件加上
android:focusable="true"
android:focusableInTouchMode="true"