2017-12-08 23 views
0

Onclick()을 사용하여 내 이미지보기를 임의의 각도로 회전 시키려고합니다. 하지만 Onlick()이 작동하지만 Imageview가 회전 할 수없는 이유는 무엇입니까? 여기에 제 코드가 있습니다.내 onclick이 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 안드로이드는 이것을 시도하십시오 –

답변

0

ViewPropertyAnimator API와 시도, 그것은 방법이 더 편리 :

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

그것은 작동합니다! 고맙습니다! 하지만 어떻게 시계 방향 또는 반 시계 방향으로 제어 할 수 있습니까? – William

+0

그리고 클릭 할 때마다 내 그림을 새로 고칠 수 있습니까? – William

+0

반 시계 방향으로 음의 각도가 있어야합니다 (예 : -20). 두 번째 질문을 이해하지 못합니다. 그림을 새로 고침으로써 무엇을 의미합니까? –