Повернуть функцию анимации, - PullRequest
       20

Повернуть функцию анимации,

1 голос
/ 20 сентября 2019

Меня спросили, как получить угол поворота в анимации вращения.

RotateAnimation Get Текущий угол изображения

Моя конечная цель - отправить сигнал намикроконтроллер в соответствии с углом, установленным бегущей рулеткой.

Я проверил журнал угла поворота изображения с помощью следующего кода:

objectAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator valueAnimator) {

                    double angle  = Double.parseDouble(objectAnimator.getAnimatedValue().toString());

                    Log.d("LOG", "animation : " + 

                }
                catch (Exception e){

                }

            }
        });

//setDuration -> 360
//range -> 0~360
//setInterpolator -> LinearInterpolator

Журнал показан ниже.

D/LOG: animation : 0.0
D/LOG: animation : 0.0
D/LOG: animation : 33.0
D/LOG: animation : 49.0
D/LOG: animation : 66.0
D/LOG: animation : 83.0
D/LOG: animation : 99.0
D/LOG: animation : 133.0
D/LOG: animation : 150.0
D/LOG: animation : 166.0
D/LOG: animation : 183.0
D/LOG: animation : 216.00002
D/LOG: animation : 233.0
D/LOG: animation : 249.99998
D/LOG: animation : 266.0
D/LOG: animation : 283.0
D/LOG: animation : 316.0
D/LOG: animation : 333.0
D/LOG: animation : 350.0
D/LOG: animation : 360.0

Я не давал повороту изображения ускорение или замедление с помощью параметра LinearInterpolator.

Я обнаружил, что onAnimationUpdate вызывается по частоте кадров анимации.(верно? нет?)

Я хочу знать абсолютный угол, а не угол при обновлении анимации.

Как это сделать?

и есть ли другие?способ сделать анимацию поворота и получить абсолютный угол?

Спасибо

...