Android在View中的动画
使用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线程进行刷新
}
}
}
更多相关文章
- kotlin 开发 android 程序中网络http请求和线程的使用
- 关于android主线程不能访问网络异常NetworkOnMainThreadExceptio
- Android子线程其实也可以刷新UI。。。。
- 【转】android AsyncTask 为 多任务 多线程 解决方案
- android 延时 不用另起线程或timertask
- Google Android官方文档进程与线程(Processes and Threads)翻译
- Android-Jni线程(一)— 创建线程
- Android 线程池相关知识