增长线Android效果

时间:2011-09-14 12:37:20

标签: android android-animation

我正在开发一个Android应用程序,我应该画一条从A点到B点的线,但我想表明这条线正在绘制"逐步"从一点到另一点。我该怎么办?

非常感谢!

2 个答案:

答案 0 :(得分:1)

作为示例,您可以使用Thread逐步增加行的大小,增加其结尾x位置,然后从您的主题中调用View.postInvalidate()

这样,如果x是您的行的结尾,而view View绘制一行以x结尾,则您将拥有此主题:

class LineThread extends Thread {
    public void run() {
        while (x < some_limit) {
           x += some_value;
           view.postInvalidate();

           try {
               sleep(some_time);
           }
           catch(InterruptedException e) {
               log.e(getClass.getName(), "sleep() was interrupted", e);
           }
        }
    }
}

和您的view

@Override 
protected void onDraw(Canvas canvas) {
    super.onDraw(canvas);

    canvas.drawLine(left, top, right + x, bottom, paint);
}

LineThread成为View课程的子类会让他们轻松分享x

答案 1 :(得分:0)

你可以看一下linear interpolation,但我不确定这是否太费时间 - 如果你一次只做几行就应该没问题!

由于您拥有start_pointend_point,因此您可以搜索每个时间范围的current_point,然后在drawLinestart_point之间使用current_point {1}}。