Я пытаюсь заменить цвет метки 'x' (отменить) И цвет текста подсказки с белого на зеленый, но все решения, которые я могу найти (например, android:textColorHint
, searchView.setQueryHint
, setTextColor
и secondaryColor
) у меня не сработало. Есть ли прямой способ изменить цвет только знака «х» (отменить)? Например, я смог изменить цвет стрелки назад, добавив эту строку <item name="android:homeAsUpIndicator">@drawable/ic_backward_dark</item>
к styles.xml
.
![enter image description here](https://i.stack.imgur.com/ZZ61V.png)
![enter image description here](https://i.stack.imgur.com/XR7eO.png)
На всякий случай я поставил свои коды ниже:
Это styles.xml
:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="actionBarStyle">@style/MyActionBar</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<!-- search bar icon-->
<item name="android:homeAsUpIndicator">@drawable/ic_backward_dark</item>
<!-- search bar text color-->
<item name="android:editTextColor">@color/colorPrimaryDark</item>
</style>
<style name="AppTheme.NoActionBar">
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar.Solid">
<item name="titleTextStyle">@style/MyTitleTextStyle</item>
</style>
<style name="MyTitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title">
<item name="android:textColor">@color/colorPrimaryDark</item>
</style>
</resources>
Это bottom_nav_search.java
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_bottom_nav_search);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
Drawable d=getResources().getDrawable(R.drawable.search_bar);
actionBar.setBackgroundDrawable(d);
}
////////////////
/* collection */
////////////////
GridView gridView = (GridView) findViewById(R.id.grid_view);
exampleList = new ArrayList<>();
for (int i = 0; i < oic_array.length; i++) {
exampleList.add(new ExampleItem(oic_image_array[i], oic_array[i]));
}
adapter = new bottom_nav_search_adapter(this, exampleList);
gridView.setAdapter(adapter);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.example_menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
SearchView searchView = (SearchView) searchItem.getActionView();
searchView.setMaxWidth(Integer.MAX_VALUE);
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) {
adapter.getFilter().filter(newText);
return false;
}
});
return true;
}