如何使Android SearchView的提示文字在未点击视图时可见?
SearchView未点击时显示提示文字的解决方案
你当前的SearchView配置中,app:iconifiedByDefault="true"会让控件默认处于图标化状态(仅显示搜索图标,输入框折叠),因此android:queryHint的提示文字只有点击展开后才会显示。要让提示文字默认可见,可通过以下两种方式修改:
方式一:XML布局直接修改
修改app:iconifiedByDefault为false,同时添加android:iconified="false"确保默认展开输入框:
<android.widget.SearchView android:id="@+id/search_user_searchView" android:layout_width="match_parent" android:layout_height="wrap_content" android:queryHint="Search here" app:iconifiedByDefault="false" android:iconified="false" android:focusableInTouchMode="true" android:background="@drawable/search_bg"/>
方式二:代码动态设置(保留图标切换功能)
如果想保留点击搜索图标收缩/展开的交互,同时默认显示提示文字,可在代码初始化时设置:
SearchView searchView = findViewById(R.id.search_user_searchView); searchView.setIconified(false); // 默认展开输入框,显示提示文字 searchView.setIconifiedByDefault(true); // 保留图标切换状态的功能
说明
iconifiedByDefault:控制控件的默认行为,true表示默认图标化,false表示默认展开输入框。iconified:控制控件当前的显示状态,false会强制展开输入框,让提示文字直接可见。
内容的提问来源于stack exchange,提问作者TSSK
相关产品推荐
相关产品推荐

