In Activity
/Fragment
Codice:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.activity_menu, menu);
MenuItem searchMenuItem = menu.findItem(R.id.search);
if (searchMenuItem == null) {
return true;
}
searchView = (SearchView) searchMenuItem.getActionView();
MenuItemCompat.setOnActionExpandListener(searchMenuItem, new MenuItemCompat.OnActionExpandListener() {
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
// Set styles for expanded state here
if (getSupportActionBar() != null) {
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.RED));
}
return true;
}
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
// Set styles for collapsed state here
if (getSupportActionBar() != null) {
getSupportActionBar().setBackgroundDrawable(new ColorDrawable(Color.BLUE));
}
return true;
}
});
return true;
}
E menu
effettivi d' XML è:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/search"
android:title="@string/search_title"
android:icon="@drawable/ic_menu_search"
app:showAsAction="always|collapseActionView"
app:actionViewClass="android.support.v7.widget.SearchView" />
</menu>
Per modificare il colore dei tasti X-back/per la vista espansa aggiungi questo nei tuoi stili:
<item name="colorControlNormal">@color/my_great_color</item>
di fare il cambiamento del colore più liscia - si può animarlo: Animate change of view background color on Android
Spero, aiuta
fonte
2015-12-30 10:17:23
Forse si può aggiungere un ascoltatore a 'SearchView', quando si espanse, cambiare il colore del' Toolbar'. – RockerFlower
usa searchview sul click dell'icona di ricerca apri attività ricercabile con bianco edittext spero tu abbia letto questo http://developer.android.com/guide/topics/search/search-dialog.html –
Ho visto quel link ma non è collegato a quello che ho chiesto. –