В моем приложении я использую панель инструментов для отображения searchView для фильтрации данных с помощью меню.
Но мне нужно изменить заголовок элемента меню и кнопку возврата searchView с черного на белый. Также сам текст, когда пользователь вводит в searchView
Я использую этот стиль в своем приложении
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
И в одном из своих действий я создал панель инструментов, чтобы добавить SearchView, как показано ниже
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
app:titleTextColor="@color/white"
android:theme="?attr/actionBarTheme"
/>
В моей деятельности
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
А потом я позвонил
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.myroute_menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setImeOptions(EditorInfo.IME_ACTION_DONE);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
myAdapter.getFilter().filter(newText);
return false;
}
});
return true;
}
А это мое меню
<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:icon="@drawable/icon_search_24dp"
android:title="Search" // Want to change this to white
app:actionViewClass="androidx.appcompat.widget.SearchView"
app:showAsAction="ifRoom|collapseActionView" />
</menu>