2014-11-27 11 views
12

Io uso SwipeRefreshLayout per aggiornare la mia lista.Come cambiare la barra dei programmi di stile in SwipeRefreshLayout?

tutto funziona. ma non mi piace la barra di avanzamento. É rotondo. e ha portato la freccia a girare. Ho visto esempi in cui una striscia di movimento dal centro verso i bordi. Come impostare uno stile barra di avanzamento?

private SwipeRefreshLayout swipeLayout; 
... 
swipeLayout = (SwipeRefreshLayout) v.findViewById(R.id.swipe_guest_list); 
     swipeLayout.setColorSchemeColors(Color.RED, Color.GREEN, Color.BLUE, Color.CYAN); 
     swipeLayout.setOnRefreshListener(this); 

example Ho bisogno sia il video

+1

L'interfaccia utente SwipeRefreshLayout è stata modificata sul nuovo modello di progettazione del materiale (http://www.google.com/design/spec/patterns/swipe-to-refresh.html) senza dare la possibilità di scegliere. Si prega di controllare http://stackoverflow.com/questions/24995480/android-l-material-design-on-swiperefreshlayout-color-scheme –

+0

Sì, esattamente quello che ho installato e funzionante. Cosa devo fare se voglio una barra di avanzamento come nella vecchia versione? Non sono assolutamente soddisfatto della progressbar circolare –

+0

Spero (almeno ora) l'unico modo per ottenere il vecchio stile SwipeRefreshLayout è quello di ottenere i file dal sistema di controllo della versione AOSP –

risposta

3

Non è possibile modificare l'animazione.

In SwipeRefreshLayout non è possibile personalizzare molto; Credo che questo sia un tentativo di Google di far aderire gli sviluppatori a modelli comuni. Quello che puoi stile sono i quattro colori dell'animazione, specificati con setColorScheme().

SwipeRefreshLayout si preoccupa di mostrare l'animazione predefinita nella parte superiore. Questo può accadere quando canChildScrollUp() restituisce false e l'utente "abbassa" o quando imposta setRefreshing(true). Disattiva l'animazione con setRefreshing(false). Metti la tua logica nel metodo onRefreshing() del listener. Sostituisci canChildScrollUp() se inserisci qualcosa che non è un ListView nel tuo SwipeRefreshLayout. Dovresti essere buono per andare da qui.

+3

Questo viene copiato letteralmente dalla risposta accettata su [questa domanda] (http : // StackOverflow.com/domande/24099755/swiperefreshlayout-colpo-progresso-animazione) – dramzy

2

si può effettivamente cambiare per la barra di avanzamento più vecchio, da dando riferimento al vecchio file jar del supporto-v4 biblioteca. Ho avuto lo stesso problema all'improvviso dopo aver aggiornato eclipse, ho appena copiato il supporto precedente v4.jar nella cartella di progetti libs e poi usando le proprietà del progetto fa riferimento a questo supporto-v4.jar e poi pulito e costruito il progetto e ora stava usando il vecchio classi. Questa soluzione è la adatta se non si utilizza nulla di particolare dalla libreria di supporto aggiornata.

Problemi correlati