1.进有edittext控件的activity自动弹出输入法
在清单文件对应的activity中加入
android:windowSoftInputMode="stateAlwaysVisible"
就行了
2.设置edittext不自动弹出输入法
在edittext的父布局加
android:focusable="true"
android:focusableInTouchMode="true"
这两句就不会弹出了
3.隐藏输入法
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(EditAddressActivity.this.getCurrentFocus().getWindowToken(),0);
4.把输入法的回车改成搜索键
在edittext中加入
android:inputType="text"
android:maxLines="1"
android:imeOptions="actionSearch"
需要设置最多有1行,否则点搜索回跳到下一行
输入类型需要设置,否则可能没效果
在布局文件设置好后,还需要在代码里添加监听事件
edit_search.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if(actionId == EditorInfo.IME_ACTION_SEARCH){
InputMethodManager manager = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
manager.hideSoftInputFromWindow(edit_search.getWindowToken(),InputMethodManager.HIDE_NOT_ALWAYS);
//后面写代码就行了
}
return false;
}
});
}
5.弹出输入法把控件顶上去问题
activity 中:
在oncreate中或者清单文件设置都可以
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
6. 带有EditText的dialog弹出时输入法一起弹出
只需要设置下dialog的window属性:
dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);