我在Android Studio上使用样本秒,小时和分钟的自动收报机/时钟指针来获取样品表面。在那里,Canvas类的绘制线方法与startX,startY,stopX和stopY一起使用。我的问题是如何使用图片类似地实现这一点?我想到了使用只有左侧和顶部的drawBitmap,所以它旋转但方式太宽而且不像手一样。 有没有办法使用图像而不是像drawLine方法中的行?最重要的是,我需要使用图像而不是线作为时钟指针。
谢谢!
答案 0 :(得分:2)
您应该使用Canvas.save
,Canvas.rotate
和Canvas.restore
。想象一下,你总是在同一个地方画画,但底层画布正在旋转,所以你会画在正确的地方。考虑一下Santa Tracker的例子:
for (int i = 0; i < mCloudBitmaps.length; i++) {
canvas.save();
canvas.rotate(mCloudDegrees[i], centerX, centerY);
float r = centerX - (timeElapsed / (mCloudSpeeds[i])) % centerX;
mCloudFilterPaints[i].setAlpha((int) (r / centerX * 255));
canvas.drawBitmap(mCloudBitmaps[i], centerX, centerY - r,
mCloudFilterPaints[i]);
canvas.restore();
}
它不会牵手,而是表盘上的云,但它应该给你一个你需要尝试做的例子。