Android Edittext焦点处理;
16lz
2021-01-23
1、进入界面EditText自动获取焦点并弹出软键盘;
EditText不做任何处理,进入界面会自动或焦;
清单文件中给该Activity设置 android:windowSoftInputMode="stateVisible" ,就会自动弹出软键盘了;
2、进入界面EditText不获取焦点也不弹出软键盘;
android:focusable="true"android:focusableInTouchMode="true"
给该EditText的父布局加上以上两个属性就不会自动获取焦点了;让父布局抢走焦点;
清单文件中给该Activity设置 android:windowSoftInputMode="stateHidden"
3、EditText获取焦点和失去焦点的监听:
etSearch.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus) { // 获取焦点时 tvCancle.setVisibility(View.VISIBLE); } else { // 失去焦点时 tvCancle.setVisibility(View.GONE); } } });
4、主动让EditText失去焦点、获取焦点;
etSearch.clearFocus(); //让输入框失去焦点 etSearch.requestFocus(); //让输入框获取焦点
附:隐藏软键盘:
public void hideSystemSoftKeyboard(Activity activity){ ((InputMethodManager)activity.getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); }
更多相关文章
- 【Android 界面效果47】RecyclerView详解
- android 界面布局-各个布局的属性介绍
- Android 软键盘
- Android 如何使Edittext不弹出软键盘
- android键盘弹出之后界面整体上移,顶出去了
- Android打开activity的时候,设置editText不弹出软键盘
- Android EditText的设置以及软键盘的各种设置
- android中去掉EditText的自动焦点获取
- Mono登录界面记住密码的控件