Je veux reconstruire (peut-être je n'ai même pas à) le nativ android progress indicator et le montrer comme icône pour un élément de la liste. J'ai suivi this example et je me suis retrouvé avec une lourde animation mangeant de la performance, qui ne correspond pas non plus au spinner natif. Le code a comme "LinearInterpolator" qui semble causer ces problèmes.Utilisez le spinner natif dans Android
Maintenant, je fait mon propre Interpolar et rempli un de mes besoins: Il est quantifiant les étapes en 12.
Cependant, j'ai encore d'énormes problèmes de performance. L'UiThread ne laisse plus mes threads d'arrière-plan s'exécuter, qui sont destinés à télécharger et à analyser des données. Notez le fait que je montre plusieurs spinners dans une liste. J'ai également essayé de définir l'interpolateur comme variable de classe dans mon listAdapter. Ainsi, tous les listViews peuvent utiliser cet Interpolator.
if(imageViewIcon != null) {
RotateAnimation anim = new RotateAnimation(0f, 360f, 51f, 51f);
anim.setInterpolator(new Interpolator() {
@Override
public float getInterpolation(float input) {
return (float) Math.floor((double)input*10)/12;
}
});
// anim
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(1000);
// Start animating the image
imageViewSpinner.startAnimation(anim);
}
Mise à jour
Enfin, je trouve la ProgressBarWidget qui fait exactement la même chose que moi. Cependant, ce n'est toujours pas très performant. (C'est mieux si)