Formatieren des SearchView-Widgets mithilfe der Support-Bibliothek v21

8

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:

Ссылка

    
MrBrightside 24.10.2014, 23:40
quelle

3 Antworten

5

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

%Vor%     
Nikola Despotoski 27.10.2014, 05:08
quelle
1

Mein Problem war, dass die Suchansicht nicht vom Typ android.support.v7.widget.SearchView war, daher galt das gesamte Styling nicht

%Vor%     
Pascalius 18.10.2015 17:36
quelle
0

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:

%Vor%

search_item.xml

%Vor%

Sie können natürlich den Hintergrund für eine Auswahl festlegen, die für Klick-Highlights gezeichnet werden kann.

    
JDJ 17.12.2014 17:54
quelle