2
votes

Comment changer la couleur de la ligne du bas sous un SearchView

Assez simple, comment changer la couleur de la ligne en bas d'un SearchView sous Android? J'ai essayé, queryBackground, background et diverses autres choses, mais je n'arrive pas à l'obtenir en XML. Je suis heureux de le faire par programme ou en XML. Je veux juste que ça marche!

Acclamations  Exemple SearchView


3 commentaires

avez-vous essayé de définir une couleur d'accentuation?


@Shane Monks O'Byrne a essayé avec ma réponse.


Salut chetan, je suis hors du pays pour le moment, je vais essayer votre solution plus tard cette semaine - merci beaucoup pour votre réponse. Je marquerai comme réponse si c'est correct!


3 Réponses :


0
votes

Bonjour, essayez ceci, cela peut vous aider

  android.support.v7.widget.SearchView searchView=findViewById(R.id.search_view);
    View v = searchView.findViewById(android.support.v7.appcompat.R.id.search_plate);
    v.setBackgroundColor(Color.parseColor("color code"));


0 commentaires

1
votes

Utilisez la méthode ci-dessous pour changer la couleur de la ligne inférieure de SearchView.

Ici, j'ajoute la couleur bleue comme ligne inférieure

private void customizeSearchView() {
        int searchTextId = getResources().getIdentifier("android:id/search_src_text", null, null);
        EditText searchBox = ((EditText) searchView.findViewById(searchTextId));
        searchBox.setBackgroundColor(Color.WHITE);
        searchBox.getLayoutParams().height = LinearLayout.LayoutParams.MATCH_PARENT;
        int search_plateId = getResources().getIdentifier("android:id/search_plate", null, null);
        View mSearchPlate = ((View) searchView.findViewById(search_plateId));
        mSearchPlate.setBackgroundColor(Color.BLUE);

        int searchCloseImageId = getResources().getIdentifier("android:id/search_close_btn", null, null);
        ImageView searchClose = ((ImageView) searchView.findViewById(searchCloseImageId));// change color
        searchClose.setBackgroundColor(Color.WHITE);
    }


1 commentaires

C'est la réponse, merci. Il convient de noter que vous devez également remplir le EditText avec une couleur d'arrière-plan (comme vous l'avez ici), sinon la vue de recherche entière change la couleur de la plaque de recherche.



0
votes
androidx.appcompat.widget.SearchView searchView = findViewById(R.id.Search_Categorie);
View v = searchView.findViewById(androidx.appcompat.R.id.search_plate);
v.setBackgroundColor(Color.parseColor("#ffffff"));

0 commentaires