2010-10-18 23 views
0

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)

Répondre