Как изменить цвет текста подсказки на панели действий и закрыть значок ('x')? - PullRequest
0 голосов
/ 08 апреля 2020

Я пытаюсь заменить цвет метки 'x' (отменить) И цвет текста подсказки с белого на зеленый, но все решения, которые я могу найти (например, android:textColorHint, searchView.setQueryHint, setTextColor и secondaryColor) у меня не сработало. Есть ли прямой способ изменить цвет только знака «х» (отменить)? Например, я смог изменить цвет стрелки назад, добавив эту строку <item name="android:homeAsUpIndicator">@drawable/ic_backward_dark</item> к styles.xml.

enter image description here

enter image description here

На всякий случай я поставил свои коды ниже:

Это 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;
    }
...