我正在创建一个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);
}
答案 0 :(得分:0)
我引用:new RotateAnimation(0f, 360f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
请参阅docs。
在那里,你会看到那是因为你试图在更长的时间内旋转相同的数量!
如果您希望速度保持不变,则需要按比例放大旋转量。