So entfernen Sie weiße Unterstreichung in einem SearchView-Widget in der Symbolleiste Android

Ich verwende das Toolbar-Such-Widget in meinem Projekt. Alles funktioniert einwandfrei, aber ich kann es kaum erwarten, die Unterstreichung unter dem Suchfeld in meiner Symbolleiste zu entfernen. Ich habe viele Lösungen ausprobiert und nichts funktioniert. Im Folgenden sind einige der Lösungen aufgeführt, die ich ausprobiert habe.

Voraussetzung ist, dass die weiße Unterstreichung im Bild entfernt wird

Ist Lösung:

//Removing underline

    int searchPlateId = searchView.getContext().getResources().getIdentifier("android:id/search_plate", null, null);
    View searchPlate = searchView.findViewById(searchPlateId);
    if (searchPlate!=null) {
        searchPlate.setBackgroundColor (Color.TRANSPARENT);
        int searchTextId = searchPlate.getContext ().getResources ().getIdentifier ("android:id/search_src_text", null, null);

    }

IInd Lösung:

 EditText searchEdit = ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text));
 searchEdit.setBackgroundColor(Color.TRANSPARENT);

Der obige Code dient dazu, den Hintergrund von EditText zu ändern, aber die Unterstreichung wird in der Suchleiste unter dem Symbol zum Schließen angezeigt.

Vervollständigen Sie den Code, den ich für das SearchBar-Widget verwende, wie folgt:

    @Override
    public void onCreateOptionsMenu(Menu menu, MenuInflater infl) {
        super.onCreateOptionsMenu(menu, infl);
        MenuInflater inflater = getActivity().getMenuInflater();
        inflater.inflate(R.menu.action_search, menu);
        final SearchView searchView = (SearchView) MenuItemCompat
                .getActionView(menu.findItem(R.id.search));

        SearchManager searchManager = (SearchManager) getActivity ().getSystemService (getActivity ().SEARCH_SERVICE);
        searchView.setSearchableInfo (searchManager.getSearchableInfo (getActivity ().getComponentName ()));

        //changing edittext color
        EditText searchEdit = ((EditText)searchView.findViewById(android.support.v7.appcompat.R.id.search_src_text));
        searchEdit.setTextColor(Color.WHITE);
}

action_search.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:compat="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/search"
        android:title="Search"
        android:icon="@drawable/abc_ic_search_api_mtrl_alpha"
        compat:showAsAction="ifRoom|collapseActionView"
        compat:actionViewClass="android.support.v7.widget.SearchView" />
</menu>

mögliches Duplikat vonDie

Danke im Voraus, jede Art von Lösungen und Vorschlägen wäre sehr nützlich für mich.

Antworten auf die Frage(14)

Ihre Antwort auf die Frage