0

Ich habe den folgenden Funktionscode, der ein TextView animiert, wenn ich auf eine Schaltfläche klicke. Wenn ich zum ersten Mal auf den Button klicke, funktioniert es wie erwartet. Aber wenn ich danach klicke, wird es nicht mehr animiert. Die onClick-Methode wird aufgerufen, das habe ich überprüft. Die Animation wird jedoch nicht neu gestartet.Ansicht rotiert zum ersten Mal, aber nicht zum zweiten Mal

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     myTv = (TextView) findViewById(R.id.myTv); 

     myButton = (Button) findViewById(R.id.myButton); 
     myButton.setOnClickListener(this); 
    } 


    @Override 
    public void onClick(View view) { 
     PropertyValuesHolder rotation = PropertyValuesHolder.ofFloat("rotationY", 360); 
     ObjectAnimator cardAnimator = ObjectAnimator.ofPropertyValuesHolder(myTv, rotation); 
     cardAnimator.setDuration(500); 
     cardAnimator.start(); 
    } 
} 

Antwort

0

Zum ersten Mal sagen Sie "dies rotationY Ansicht animieren zu 360" Grad - es beseelt.

Zum zweiten Mal sagen Sie "animieren diese Ansicht rotationY zu 360" Grad - es animiert immer noch, aber dieses Mal hat es nichts zu tun, weil diese Ansicht bereits bei 360 Grad ist.

Explizit sagen, dass Sie es wollen 0-360 animiert werden:

 

PropertyValuesHolder rotation = PropertyValuesHolder.ofFloat("rotationY", 0, 360); 
 
+0

Perfect, danke :) – Andre

Verwandte Themen