在android中逐步绘制线条

时间:2015-04-17 20:07:35

标签: android draw android-graphview

我找到了一些代码来绘制线条,现在我逐渐绘制线条,以便我看到它被绘制。

这是code

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class DrawView extends View {
    Paint paint = new Paint();

    public DrawView(Context context) {
        super(context);
        paint.setColor(Color.BLACK);
    }

    @Override
    public void onDraw(Canvas canvas) {
            canvas.drawLine(0, 0, 20, 20, paint);
            canvas.drawLine(20, 0, 0, 20, paint);
    }

}

我该怎么做? TNX

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:-1)

您需要将绘图分解为多个步骤。在onDraw调用中,您需要绘制线条的一部分,并更新变量以便绘制下一个线段。然后,您将需要在动画循环中进行多个onDraw()调用。在调用动画循环时,您需要小心。阅读有关View类的更多信息,特定事件处理和线程。 http://developer.android.com/reference/android/view/View.html

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class DrawView extends View {
    Paint paint = new Paint();
    float x1 = 0;
    float x2 = 20;
    float y1 = 0; 
    float y2 = 20;

    public DrawView(Context context) {
        super(context);
        paint.setColor(Color.BLACK);
    }

    @Override
    public void onDraw(Canvas canvas) {
            if(doClear) {
               //clear canvas to begin new animation
            }
            canvas.drawLine(x1, y1, x2, y2, paint);
    }

    public void animateLoop() {
         while(x1 < 500) {
             x1 += 20;
             y1 += 20;
             x2 += 20;
             y2 += 20;
             //tell android this view needs to be redrawn
             invalidate();
         }
         //when done set doClear to true so
}

如果你真的想学习动画,你应该从这个例子开始:http://developer.android.com/guide/topics/graphics/drawable-animation.html