使用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线程进行刷新
}
}

}

更多相关文章

  1. kotlin 开发 android 程序中网络http请求和线程的使用
  2. 关于android主线程不能访问网络异常NetworkOnMainThreadExceptio
  3. Android子线程其实也可以刷新UI。。。。
  4. 【转】android AsyncTask 为 多任务 多线程 解决方案
  5. android 延时 不用另起线程或timertask
  6. Google Android官方文档进程与线程(Processes and Threads)翻译
  7. Android-Jni线程(一)— 创建线程
  8. Android 线程池相关知识

随机推荐

  1. Android数据储存
  2. Android JNI开发入门之二
  3. Android软件安全与逆向分析
  4. Android(安卓)RecyclerView使用详解
  5. Android之——手机黑名单的实现
  6. TextView常见功能应用
  7. [置顶] Android FrameWork Service 之 St
  8. Android四款系统架构工具
  9. android实现自动对焦拍照
  10. android中文件IO