Send icons away when expandig searchview in Android toolbar

I come across this particular behavior and I don't know how to fix it ..

In my activity, I have this toolbar:

enter image description here

And when you click on the search icon, it expands and pushes another icon out of the view.

enter image description here

I want to know how I can save the icon on the right and reduce the search space.

This is my menu layout:

<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <item android:id="@+id/action_search" android:title="@string/buscar" app:actionViewClass="android.support.v7.widget.SearchView" app:showAsAction="always" /> <item android:id="@+id/alimentos_basket" android:orderInCategory="1" android:title="@string/alimentos_anadidos" app:showAsAction="always" /> 

I have nothing in my activity layout

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" tools:context="com.irixgalicia.irixhealth.app.comidaDiaria.AnadirAlimentoActivity"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay"> </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> <include layout="@layout/content_anadir_alimento" /> 

And this is the activity code where I inflate

  @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.menu_anadir_alimento, menu); final MenuItem menuItem = menu.findItem(R.id.action_search); final SearchView searchView = (SearchView) MenuItemCompat.getActionView(menuItem); searchView.setOnQueryTextListener(this); final MenuItem contadorItem = menu.findItem(R.id.alimentos_basket); contadorItem.setIcon(buildCounterDrawable(contadorAlimentos, R.drawable.ic_food_variant_white_36dp)); return super.onCreateOptionsMenu(menu); } 

In my layout, I only have a toolbar, not icons inside.

 <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/AppTheme.PopupOverlay"> </android.support.v7.widget.Toolbar> </android.support.design.widget.AppBarLayout> 

Does anyone know how to achieve what I'm looking for.

Thanks!

+5
source share
2 answers

Use ifRoom|collapseActionView for the showAsAction attribute

 <item android:id="@+id/action_search" android:title="search" app:actionViewClass="android.support.v7.widget.SearchView" android:icon="@drawable/ic_search" app:showAsAction="ifRoom|collapseActionView"/> 
+7
source

Change the showAsAction attribute to ifRoom and try -

 <item android:id="@+id/alimentos_basket" android:orderInCategory="1" android:title="@string/alimentos_anadidos" app:showAsAction="ifRoom" /> 
0
source

All Articles