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!
3 Réponses :
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"));
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); }
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.
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"));
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!