Ho Android SwipeRefreshLayout che funziona e sto cercando di personalizzare i colori su tutto il pull per l'aggiornamento in tutta l'app. Al fine di seguire il principio DRY, ho provato a spostare i colori desiderati per array.xml come segue:Come passare l'array int degli ID delle risorse colore da array.xml a SwipeRefreshLayout.setColorSchemeResources
<resources>
<array name="swipeRefreshColors">
<item>@color/pink</item>
<item>@color/green</item>
</array>
</resources>
Tuttavia, quando provo e importarli in swipe per aggiornare:
swipeRefreshLayout.setColorSchemeResources(R.array.swipeRefreshColors);
ottengo un Risorse $ NotFoundException:
android.content.res.Resources$NotFoundException: Resource ID #0x7f060001
at android.content.res.Resources.getValue(Resources.java:1233)
at android.content.res.Resources.getColor(Resources.java:887)
at android.support.v4.widget.SwipeRefreshLayout.setColorSchemeResources(SwipeRefreshLayout.java:477)
ho provato un paio di cose, come sottoclasse il codice SwipeRefreshLayout e duro codifica i colori lì, ma è sicuramente un hack. Deve esserci un modo per fare riferimento a una serie di colori dall'Attività per personalizzarlo.
Qualsiasi aiuto sarebbe molto apprezzato!
Grazie a questo ho aiutato molto, ho provato questo in Kotlin e ho avuto errore dicendo che è necessario un Int al posto di IntArray. Ciò che ha risolto questo problema per me è stato l'aggiunta di una stella prima della variabile dell'array così simile a '* swipeRefreshColors', se si inizializza la variabile altrove. Altrimenti suppongo che sarebbe solo un 'setColorSchemeColors (* ...' :) – nmu