2015-04-17 6 views
0

Я нашел код для рисования линии, и теперь я чертил линию рисования постепенно, так что я облака вижу, что она нарисована.Нарисовать линию постепенно в android

Это 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

+0

информация о аниматорах (ValueAnimator/ObjectAnimayor) – pskink

ответ

-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.

Смежные вопросы