如何在android中绘制一个移动箭头

时间:2013-01-06 16:46:59

标签: android animation android-canvas

我已经在我在网上找到的good tutorial的帮助下在android中创建了一个自定义视图但不知何故箭头根本没有移动。当我单步执行我的代码时,似乎他正常处理所有代码,但不知何故只是不会绘制在onDraw方法中声明的任何内容。

所以我的程序设置指定箭头的新指定目标,然后使视图无效。这会导致正确调用onDraw并逐步执行drawArrow()函数。但是它不会在屏幕上呈现。我做错了什么?

private void drawArrow(Canvas canvas){
    float arrowAngleCurrent = degreeToAngle(arrowPosition);
    float arrowAngleTarget = degreeToAngle(arrowTarget);
    Log.d(TAG, "arrowtarget: "+ arrowAngleTarget);
    canvas.save(Canvas.MATRIX_SAVE_FLAG);
    canvas.rotate((arrowAngleCurrent - arrowAngleTarget), 0.5f, 0.5f);
    canvas.drawPath(mArrowPath, mArrowPaint);
    canvas.restore();
    canvas.drawCircle(0.5f, 0.5f, 0.01f, mArrowScrewPaint);
}

0 个答案:

没有答案