Arj*_*ini 5 java android canvas android-canvas
我想在旋转车轮时播放声音根据角度和坐标轮的旋转速度
当Pin触摸在线触摸Arc时,我想在正确的时间播放Sound Play.
此外,想要动画在Pin上像触摸一样震动.
声音是播放但是声音连续播放并且根据画布轮不寻求坐标
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
drawWheelBackground(canvas);
initComponents();
float tempAngle = 0;
float sweepAngle = 360 / mWheelItems.size();
if (this.mWheelItems != null) {
Log.e("mWheelItems.size()", String.valueOf(mWheelItems.size()));
for (int i = 0; i < mWheelItems.size(); i++) {
archPaint.setColor(mWheelItems.get(i).color);
archPaint1.setColor(Color.WHITE);
canvas.drawArc(range, tempAngle, sweepAngle, true, archPaint2);
canvas.drawArc(range, tempAngle, sweepAngle, true, archPaint);
drawImage(canvas, tempAngle, mWheelItems.get(i).bitmap, mWheelItems.get(i).mvalue, sweepAngle);
}
if (!(this.resourcePlayer == null)) {
if (this.resourcePlayer.isPlaying()) {
resourcePlayer.setVolume(100, 100);
this.resourcePlayer.seekTo(0);
} else {
this.resourcePlayer.start();
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
根据wheelItemCenter和360度旋转
final float wheelItemCenter = 180 - getAngleOfIndexTarget(target) + (360 / mWheelItems.size()) / 2;
animate().setInterpolator(new DecelerateInterpolator())
.setDuration(DEFAULT_ROTATION_TIME)
.rotation((360*5) + wheelItemCenter)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
415 次 |
| 最近记录: |