想达到的目的: 定时刷屏后,原有的图画还在,同时新加了一些内容。 困扰了很多天啊,一直没解决
比如:下面代码只能达到X坐标不断更新,有向右划出的效果,
而我想要的效果是:第一次画布显示线段:(30,40,50,40) 再刷一下,增加线段(60,40,80,40)以此类推。
最终实现:传四个参数进来,定时刷新
package cn.com.gotsun;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
public class WordDraw extends Activity {
private MyView myView;
private Handler mHandler;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myView = new MyView(this);
mHandler = new Handler();
mHandler.post(new Runnable() {
@Override
public void run() {
myView.invalidate();
mHandler.postDelayed(this, 3000);
}
});
setContentView(myView);
}
class MyView extends View {
private float x = 0f; public MyView(Context context) {
super(context);
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
x += 30;
Paint mPaint = new Paint();
mPaint.setColor(Color.RED);
canvas.drawLine(x, 40, x + 20, 40, mPaint);
}
}
}
比如:下面代码只能达到X坐标不断更新,有向右划出的效果,
而我想要的效果是:第一次画布显示线段:(30,40,50,40) 再刷一下,增加线段(60,40,80,40)以此类推。
最终实现:传四个参数进来,定时刷新
package cn.com.gotsun;
import android.app.Activity;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
public class WordDraw extends Activity {
private MyView myView;
private Handler mHandler;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
myView = new MyView(this);
mHandler = new Handler();
mHandler.post(new Runnable() {
@Override
public void run() {
myView.invalidate();
mHandler.postDelayed(this, 3000);
}
});
setContentView(myView);
}
class MyView extends View {
private float x = 0f; public MyView(Context context) {
super(context);
}
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
x += 30;
Paint mPaint = new Paint();
mPaint.setColor(Color.RED);
canvas.drawLine(x, 40, x + 20, 40, mPaint);
}
}
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货