1

我正在制作一个 android 应用程序,其中旋转光盘在媒体播放器播放音乐时不断旋转并在暂停时停止...问题是当我在 setDuration() 方法中增加旋转持续时间时,速度会降低...我想知道如何控制旋转量

我的代码如下...

    dialer2 = (ImageView) findViewById(R.id.imageView1);
    mp2 = new MediaPlayer();

    public void onPlay1(View v)
    {
     Button playPause = (Button)v;
    if(mp2.isPlaying()){
if(mp2 != null){
     mp1.pause();
playPause.setText("Play");
dialer2.clearAnimation();
}
}else{
if(mp2 != null){
mp2.start();
playPause.setText("Pause");
load_animations2();
}
}
}


     void load_animations2()
     {
     RotateAnimation ranim = new RotateAnimation(0f, 360f, Animation.RELATIVE_TO_SELF,      0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
         ranim.setDuration((mp2.getDuration() - mp2.getCurrentPosition()));
         ranim.setInterpolator(new LinearInterpolator());

         ranim.setFillAfter(true);
         ranim.setFillEnabled(true);
         dialer2.startAnimation(ranim);

    }
4

1 回答 1

0

我引用:new RotateAnimation(0f, 360f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);

请参阅文档

在那里,你会看到那是因为你试图在更多的时间内旋转相同的数量!

如果您希望速度保持不变,则需要按比例放大旋转量。

于 2013-09-25T12:11:14.480 回答