2017-12-08 2 views
0

Ich möchte meine Bildansicht mit Onclick() in zufällige Winkel drehen. Aber warum funktioniert der Onlick(), aber der Imageview kann nicht rotieren? Hier ist mein Code.Warum mein onclick kann nicht auslösen Animation Imageview

ImageView rotate_plate; 
Button debug_button; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    debug_button=(Button) findViewById(R.id.test_button); 
    debug_button.setOnClickListener(btngoOnClick); 

} 
private OnClickListener btngoOnClick = new OnClickListener() { 
    public void onClick(View v) { 

     debug_button.setText("Click"); 
     rotate_plate=(ImageView) findViewById(R.id.wheel); 
     int stopturnnum = (int)(Math.random() *360); 
     Animation am = new RotateAnimation(0, stopturnnum, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); 

     am.setDuration(3000); 
     am.setRepeatCount(1); 
     am.setFillAfter(true); 
     rotate_plate.setAnimation(am); 
     am.startNow(); 
    } 
}; 
+0

https://stackoverflow.com/questions/27766722/how-to-randomly-rotate-an-image -in-android versuchen dies –

Antwort

0

Versuchen mit ViewPropertyAnimator API, es ist viel bequemer:

rotate_plate.animate() 
    .rotation(angle) 
    .setDuration(3000L) 
+0

Es funktioniert! Danke! Aber wie kann ich es im oder gegen den Uhrzeigersinn steuern? – William

+0

Und wie kann ich mein Bild aktualisieren, wenn ich jedes Mal auf den Klick klicke? – William

+0

Ich denke, gegen den Uhrzeigersinn sollte negativen Winkel haben, zum Beispiel -20. Ich verstehe deine zweite Frage nicht, was meinst du mit erfrischendem Bild? –

Verwandte Themen