单击之前SearchView查询提示

noo*_*oot 13 android android-studio

我有一个搜索视图,我有一个查询提示属性.但是,只有在单击搜索视图后才会显示提示.有没有办法让它在被点击之前出现?

<SearchView
        android:id="@+id/searchView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/textView4"
        android:layout_marginBottom="14dp"
        android:layout_marginTop="30dp"
        android:queryHint="Search" />
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

在此输入图像描述

我已经看到了另一个类似查询的SO问题,但它没有解决.这就是为什么我要再问一次.

小智 13

您可以添加以下行:

SearchView searchView = (SearchView) findViewById(R.id.searchView);
searchView.onActionViewExpanded();
searchView.setIconified(true);
Run Code Online (Sandbox Code Playgroud)

并将其添加到隐藏焦点(键盘)

 new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                search.clearFocus();
            }
    }, 300);
Run Code Online (Sandbox Code Playgroud)

  • 刚刚检查过,在xml iconifiedByDefault中找到了一个属性.我将其设置为false并且有效.谢谢.:) (5认同)
  • searchView.setIconified(假); 对我有用.谢谢 :) (4认同)

Ali*_*eri 10

使用此XML:

android:queryHint="hint"
app:queryHint="hint"
app:defaultQueryHint="hint"
android:iconifiedByDefault="false"  // this line
app:iconifiedByDefault="false"
Run Code Online (Sandbox Code Playgroud)

用于{android.support.v7.widget.SearchView}的应用

  • 这是正确答案!不是选定的...谢谢! (2认同)

Thi*_*A P 6

您可以添加android:iconifiedByDefault="false"它,默认情况下仅显示查询提示字符串


Md.*_*lla 5

这是一个完整的XML,你可以试试这个。

<androidx.appcompat.widget.SearchView
                android:id="@+id/searchView"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:theme="@style/PlayerSearchView"
                android:iconifiedByDefault="false"
                android:paddingStart="-4dp"
                app:iconifiedByDefault="false"
                app:searchIcon="@drawable/ic_person_search"
                app:closeIcon="@drawable/ic_close"
                app:queryBackground="@android:color/transparent"/>
Run Code Online (Sandbox Code Playgroud)

添加这个风格

<style name="PlayerSearchView" parent="Widget.AppCompat.SearchView">
        <item name="queryHint">@string/search_player</item>
        <item name="android:textSize">@dimen/_10ssp</item>
        <item name="fontFamily">@font/montserrat_medium</item>
        <item name="android:textStyle">bold</item>
        <item name="android:textColor">@color/colorBlack</item>
        <item name="android:queryHint">@color/colorBlack</item>
    </style>
Run Code Online (Sandbox Code Playgroud)