3

我有一个带有背景可绘制的搜索视图,但无论我尝试什么,我似乎都无法让文本出现。SearchView 中不显示任何文本。

我已经尝试过android:textandroid:queryHint甚至使用编程方式设置它,mSearchView.setQueryHintText("search for something");但这些都不起作用。searchView 不在 actionBar 内。

这是搜索视图的 xml

<android.support.v7.widget.SearchView
        android:id="@+id/m_search_view"
        android:layout_width="match_parent"
        android:layout_height="@dimen/searchbar_height"
        android:layout_alignWithParentIfMissing="true"
        android:layout_toLeftOf="@+id/other_button"
        android:background="@drawable/rounded_corner_box"
        android:focusableInTouchMode="true"
        android:gravity="center_vertical|left"
        android:paddingLeft="@dimen/left_padding"
        android:queryHint="search for something"
        android:textAppearance="@style/m_text_appearance"
        android:textColor="@color/m_text_color" />

当我不设置背景时,我根本看不到 searchView(searchView 是半透明的)。

任何帮助,将不胜感激。

4

6 回答 6

12
searchView.setIconified(false);
于 2017-06-10T16:46:07.793 回答
7

在 XML 中,android:iconifiedByDefault="false"如果您已经为android:queryHint.

于 2017-11-08T05:18:31.870 回答
7

对于 android.support.v7.widget.SearchView,而不是使用

android:queryHint="your hint" 
android:iconifiedByDefault="false"

你必须使用

app:queryHint="your hint" 
app:iconifiedByDefault="false"
于 2019-03-08T07:09:38.957 回答
6

在xml布局文件中添加

app:iconifiedByDefault="false"

请注意,它是app:而不是android:

于 2019-06-28T21:24:55.283 回答
4

修复了我自己的问题:我不得不深入研究 SearchView 的源代码。这就是我如何在 searchView 中显示背景和文本:

SearchView searchView = (SearchView)mLayout.findViewById(R.id.m_searchview);
searchView.setQueryHint("search for something");
View searchTextView = searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);
searchTextView.setBackground(
ResourcesCompat.getDrawable(getResources(), R.drawable. rounded_corner_box, getTheme()));
View searchFrame = searchView.findViewById(android.support.v7.appcompat.R.id.search_edit_frame);
searchFrame.setBackground(ResourcesCompat.getDrawable(getResources(), R.drawable.m_background, getTheme()));
于 2016-08-25T05:20:30.780 回答
3

在xml布局文件中添加

app:queryHint="My hint"
于 2018-06-15T11:11:21.573 回答