2015-09-08 2 views
14

Hat jemand die SwipeRefreshLayout in Google Mail bemerkt. Sie ändert die Farbe für jede Drehung in einer einzelnen Last-Iteration. Hat jemand eine Idee, wie man es erreicht?Wie können Sie die Farbe eines Swipe-Aktualisierungslayouts für jede Drehung ändern?

+0

Sie Teil des Codes zeigen sollte und nicht für eine vollständige Code-Implementierung zu fragen. Dies erreichen Sie, indem Sie setColorScheme im Swipe Refresh-Objekt verwenden. Sie können 4 Farben einstellen. –

Antwort

41

Die documentation für SwipeRefreshLayout beschreibt die setColorSchemeResources() und setColorSchemeColors() Methoden, die verwendet werden können, um das Farbschema Ihrer SwipeRefreshLayout

Der docs Zustand zu setzen:

Legen Sie die Farbe verwendeten Ressourcen in den Fortschritt Animation aus Farbressourcen. Die erste Farbe wird auch die Farbe des Balkens sein, der als Antwort auf eine Wischgeste des Benutzers wächst.

Sie sollten beachten, dass setColorSchemeColors() sollte mit spezifischen Farbwerten verwendet werden und setColorSchemeResources() sollten verwendet werden, wenn Sie Ressource verwenden Verweise auf Farben beabsichtigen (z R.color.red).

Bitte beachten Sie auch, dass setColorScheme(), die alte Art, dies zu vervollständigen, ist jetzt veraltet.

+0

In meinem Fall ändert setColorSchemeColors() und setColorSchemeResources() nur die Farbe des Pfeils, Ring Fortschritt Farbe bleibt weiß –

+0

@RajeshKoshti Wie der Docs Zustand, ändert dies die Fortschrittsanimation Farbe und ** nicht ** die Ansicht –

+0

dann was soll ich Um die Farbe des Fortschrittsringes zu verändern? –

0

ändern Farben wie pro UI Anforderung:

swipeRefreshLayout.setColorSchemeColors(Color.BLUE, Color.YELLOW, Color.BLUE); 
Verwandte Themen