Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to make SearchView on Toolbar always expanded?

I already define setIconified() and setIconifiedByDefault() to false but the SearchView menu item is not expanding by default. Here's how I implemented it:

View customTitle = getLayoutInflater().inflate(R.layout.toolbar_custom_title, null);
toolbar.inflateMenu(R.menu.menu_buddies);
toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finish();
            }
        });

SearchView searchView = (SearchView) toolbar.getMenu().findItem(R.id.menu_search).getActionView();
searchView.setQueryHint("Search Buddies");
searchView.setIconified(false);
searchView.setIconifiedByDefault(false);

My menu_buddies:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:id="@+id/menu_search"
        xmlns:pawesome="http://schemas.android.com/apk/res-auto"
        android:title="@string/action_search"
        android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
        pawesome:showAsAction="always|collapseActionView"
        pawesome:actionViewClass="android.support.v7.widget.SearchView" />

</menu>
like image 672
Earwin delos Santos Avatar asked Sep 06 '25 03:09

Earwin delos Santos


2 Answers

You need to change the value of android:showAsAction to always. The SearchView's attribute android:iconifiedByDefault should be true.

like image 119
dieter_h Avatar answered Sep 07 '25 19:09

dieter_h


Have you solved this yet? Remove:

searchView.setIconified(false);

and keep only this line:

searchView.setIconifiedByDefault(false);

As well as showAsAction="always" in menu-xml.

This works for me, the searchview is expanded and can not be collapsed by any means.

like image 35
Gober Avatar answered Sep 07 '25 19:09

Gober