Trong
canvas, ta có một bitmap icon.
Bitmap icon
= BitmapFactory.decodeResource(getResources(), R.drawable.abc);
Giả
sử ta muốn nó quay tròn quanh tâm của nó, hãy dùng đoạn code sau.
Matrix ma = new Matrix();
float angle = (float) (System.currentTimeMillis()
% 1000) / 1000 * 360;
ma.reset();
ma.postTranslate(-icon.getWidth() / 2,
-icon.getHeight() /
2);
ma.postRotate(angle);
ma.postTranslate(200,
200);
canvas.drawBitmap(icon,
ma, null);
Chú
ý canvas đã có lệnh invalidate(), nếu chưa có bạn thêm vào. Dòng postTranslate(200,
200); là vị
trí của icon.
Muốn
nó quay tròn quanh một bán kính nào đó, bạn sửa dòng thứ tư thành
ma.postTranslate(-icon.getWidth()/2,
100);
Đường
kính quay sẽ là 100dp.
No comments:
Post a Comment