Ich versuche, das SearchView-Widget mit der neuen AppCompat v21 zu stylen, aber ich stehe vor einigen Problemen. Egal welches Layout ich auf "suggestionRowLayout" -Attribut einstelle, es tut gar nichts. Die Vorschlagsliste des SearchView bleibt auf die gleiche Weise erhalten.
Ein anderes Problem, das ich habe, ist, wenn die "Akzentfarbe" die gleiche Farbe wie die "Primärfarbe" hat, in der Suchansicht ist es unmöglich zu unterscheiden, wo der Caret ist. Weißt du, wie ich die Akzentfarbe im SearchView ändern kann, um dort nur angewendet zu werden? Ich habe festgestellt, dass Play Music das gleiche Problem hat.
Ich folge dem Leitfaden vom Android-Entwickler-Blog:
Entsprechend dem, was ich in der SearchView-Quelle gesehen habe suggestionRowLayout
Ressourcenwert in SearchView tritt beim Abrufen der Attribute für die SearchView und in der Methode getSuggestionRowLayout()
auf. Auf der anderen Seite wird durch die Implementierung von SuggestionAdapter der v7-Bibliothek abc_search_dropdown_item_icons_2line
aufgepumpt.
Idee für eine Problemumgehung:
Versuchen Sie, mit Hilfe von refs.xml
auf ein anderes Layout zu verweisen. Stellen Sie sicher, dass Sie dieselben IDs für Ansichten beibehalten, wie in abc_search_dropdown_item_icons_2line
suggestionsRowLayout
funktionierte auch nicht für mich.
In meinem Fall musste ich nur die Hintergrundfarbe jeder Zeile und die Textfarbe ändern.
Also habe ich das Layout der View geändert, die von newView()
in meinem SuggestionsAdapter zurückgegeben wurde:
search_item.xml
%Vor%Sie können natürlich den Hintergrund für eine Auswahl festlegen, die für Klick-Highlights gezeichnet werden kann.
Tags und Links android android-5.0-lollipop android-support-library material-design searchview