使用Runnable产生新线程
使用postInvalidate进行刷新
package com.hu.move;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class MoveView extends View implements Runnable{
private int y;
private Paint paint;
public MoveView(Context context) {
super(context);
paint=new Paint();
paint.setColor(Color.GREEN);
paint.setAntiAlias(true);
new Thread(this).start();//启动线程
}
@Override
protected void onDraw(Canvas canvas) {//画图
super.onDraw(canvas);
canvas.drawLine(0, 0, 300, y, paint);
}
public void run() {//新线程
while(y<400){
y++;
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
MoveView.this.postInvalidate();//非UI线程进行刷新
}
}
}