Почему мой щелчок не может вызвать Animation Imageview

Я хочу, чтобы мой просмотр изображений вращался под случайным углом с помощью Onclick(). Но почему Onlick() работает, а 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();
    }
};

person Community    schedule 08.12.2017    source источник
comment
stackoverflow.com/ вопросы/27766722/ попробуйте это   -  person Tara    schedule 08.12.2017


Ответы (1)


Попробуйте с ViewPropertyAnimator API, так удобнее:

rotate_plate.animate()
    .rotation(angle)
    .setDuration(3000L)
person Krzysztof Misztal    schedule 08.12.2017
comment
Оно работает! спасибо! Но как я могу управлять им по часовой стрелке или против часовой стрелки? - person ; 08.12.2017
comment
И как я могу обновить свою картинку, когда каждый раз, когда я нажимаю кнопку? - person ; 08.12.2017
comment
Я предполагаю, что против часовой стрелки должен быть отрицательный угол, например -20. Я не понимаю ваш второй вопрос, что вы подразумеваете под обновлением изображения? - person Krzysztof Misztal; 08.12.2017