Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Animation + threads

    6 juin 2013 à 13:25:46

    Salut à tous,

    Voilà, j'ai un léger soucis sur mon application Android.

    J'ai un bouton et une TextView.

    Lorsque je clique sur le bouton, la TextView bouge avec une TranslateAnimation, combinée à un Rotate.

    Ensuite un Timer est lancé, qui va update la TextView toutes les secondes.

    Le problème est que la textview ne change pas de contenu, sauf une fois que le thread est coupé.

    Voici le code:

    chrono = new Timer();
    
    AnimationSet animationSet = new AnimationSet(true);
    animationSet.setFillAfter(true);
    
    Animation anim2 = AnimationUtils.loadAnimation(RecordActivity.this, R.anim.rotate_90);
    animationSet.addAnimation(anim2);
    
    int txtHeight = chronoView.getHeight();
    int txtWidth = chronoView.getWidth();
    int surfaceWidth = surfaceView.getWidth();
    TranslateAnimation anim = new TranslateAnimation(0,(surfaceWidth-txtWidth),0,(txtHeight/2)-10);
    anim.setDuration(anim2.getDuration());
    animationSet.addAnimation(anim);
    
    if(animationSet != null) chronoView.startAnimation(animationSet);
    
    chrono.scheduleAtFixedRate(new TimerTask() {
    
    	@Override
    	public void run() {
    		Log.i(TAG,""+time);
                  
    		if(time == 5) {
    			runOnUiThread(new Runnable() {
    				@Override
    				public void run() {
    					recordButton.setEnabled(true);
    					recordButton.setColorFilter(Color.argb(0,155,155,155));
    					chronoView.setText(secondsToString(time));
    				}
    			});
    		}
    		else {
    			runOnUiThread(new Runnable() {
    				@Override
    				public void run() {
    					chronoView.setText(secondsToString(time));
    					}
    			});
    		}
    	time++;
    	}
    },
    0,
    1000);


    Lorsque je commente l'animation, la vue est bien mise à jour chaque seconde.

    Mais dès qu'il y a l'animation, c'est l'enfer.

    Si quelqu'un a une solution ou une idée de la raison du soucis, je lui serai très reconnaissant!

    Merci d'avance.

    • Partager sur Facebook
    • Partager sur Twitter

    [Android] Animation + threads

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown