例子主要代码:
设置每一帧的图片
private void startFanAnimationLeft(int i) {
Message msg = new Message();
msg.obj = i;
msg.what = 10;
mHandler.sendMessageDelayed(msg, mDuration);
}
循环设置图片
switch (msg.what) {
case 10:
if (!isFanEnd) {
int id = getResources().getIdentifier("fan_left_0"
+ String.format("%02d", (Integer) msg.obj),
"drawable", getContext().getPackageName());
mImgFanLeftAnim.setImageResource(id);
if ((int) msg.obj == 24) {
startFanAnimationLeft(0);
} else {
startFanAnimationLeft((Integer) msg.obj + 1);
}
}
break;
}
private void changeFanDuration(int fanSpeed) {
if (fanSpeed == 0) {
isFanEnd = true;
} else {
isFanEnd = false;
}
switch (fanSpeed) {
case 1:
mDuration = 83;
break;
case 2:
mDuration = 70;
break;
case 3:
mDuration = 60;
break;
case 4:
mDuration = 50;
break;
case 5:
mDuration = 40;
break;
case 6:
mDuration = 30;
break;
case 7:
mDuration = 20;
break;
case 8:
mDuration = 10;
break;
default:
mDuration = 0;
break;
}
}