使用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. android
  2. android 获取IP
  3. 关于android主线程不能访问网络异常NetworkOnMainThreadExceptio
  4. kotlin 开发 android 程序中网络http请求和线程的使用
  5. android 多线程 — IntentService
  6. Watchdog 工作机制解析
  7. android AsyncTask
  8. Android(安卓)APK 反编译工具
  9. 【Android策略】The content of the adapter has changed but Li

随机推荐

  1. android异步任务 AsynTask
  2. Android Common method
  3. Android NDK Cross-Compile Setup
  4. Android技术内幕.系统卷
  5. android PopupWindow 阴影背景 、动画 、
  6. Android Studio 2.0下创建jni应用调用本
  7. android接收广播监听网络状态变化
  8. android中实现背景图片颜色渐变方法
  9. android缩放图片
  10. INSTALL_PARSE_FAILED_INCONSISTENT_CERT