Android(安卓)SearchView设置与用法的那点事儿
16lz
2021-01-25
// 设置该SearchView默认是否自动缩小为图标
mSearchView
.setIconifiedByDefault(
false
);
// 为该SearchView组件设置事件监听器
mSearchView
.setOnQueryTextListener(
this
);
// 设置该SearchView显示确认搜索按钮
mSearchView
.setSubmitButtonEnabled(
true
);
// 设置该SearchView内默认显示的提示文本
mSearchView
.setQueryHint(
"查找"
);
//设置
mSearchView
.setIconified(false);
//清除焦点
mSearchView
.clearFocus();
//获取焦点
mSearchView.requestFocus();
EditText默认自动获取焦点的,会弹出软键盘
下面是关闭SearchView自动获取焦点的代码
<span style="font-size:14px;"><span style="font-size:14px;"> <LinearLayout android:id="@+id/focus" android:layout_width="fill_parent" android:layout_height="60dp" android:background="#EAEAEA" android:focusable="true" android:focusableInTouchMode="true" android:gravity="center_vertical" android:orientation="horizontal" > <SearchView android:id="@+id/searchView" android:layout_width="fill_parent" android:layout_height="40dp" android:layout_marginRight="20dp" android:gravity="left|center_vertical" android:iconifiedByDefault="false" android:inputType="textFilter" android:queryHint="输入IP" android:textColor="#ABABAB" android:textColorHint="#ABABAB" /> </LinearLayout></span></span>
只需要在SearchView的父级控件中添加以下属性:
<span style="font-size:14px;"><span style="font-size:14px;">android:focusable="true"android:focusableInTouchMode="true"</span></span>
就在进入的时候不会自动获取焦点
但是当你点击SearchView获取焦点后,到别的activity再回来的时候,失效了,总是自动获取焦点并且弹出软键盘。
这里有个办法就是在onResume方法里添加以下代码
<span style="font-size:14px;"><span style="font-size:14px;">@Overrideprotected void onResume() {super.onResume();mSearchView.setFocusable(true);mSearchView.setFocusableInTouchMode(true);//mSearchView.requestFocus(); //获取焦点}</span></span>
回到这个activity会执行onResume
方法,让它执行上面的代码,就不再会自动获取焦点了。
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- Android中关于键盘管理,点击除editText外的区域收起键盘
- Android拖动图片及多层图片叠加
- 【Android(安卓)开发教程】获取预设信息
- Drawable、Bitmap、byte[]之间的转换 (转)
- eclipse中跳转查看android类的源码
- PopupWindow与PopupMenu的用法
- android上代码去执行"su"命令
- 按钮的隐藏与不可见