0
我正在开发一个绘制屏幕表面的程序,但我只能让它画点。我怎样才能使它连接dots.I意味着绘制形状不dots.Here是我的代码手机屏幕上的Android绘图
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
/* super.onCreate(savedInstanceState);
mySurfaceView = new MySurfaceView(this);
setContentView(mySurfaceView);*/
super.onCreate(savedInstanceState);
init();
mySurfaceView.setOnTouchListener(this);
setContentView(mySurfaceView);
}
private void init(){
mySurfaceView = new MySurfaceView(this);
x = 0;
y = 0;
}
class MySurfaceView extends SurfaceView implements Runnable{
Thread thread = null;
SurfaceHolder surfaceHolder;
volatile boolean running = false;
private Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
Random random;
public MySurfaceView(Context context) {
super(context);
// TODO Auto-generated constructor stub
surfaceHolder = getHolder();
random = new Random();
}
@Override
public void run() {
// TODO Auto-generated method stub
while(running){
if(surfaceHolder.getSurface().isValid()){
Canvas canvas = surfaceHolder.lockCanvas();
//... actual drawing on canvas
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(3);
int w = canvas.getWidth();
int h = canvas.getHeight();
// int x = random.nextInt(w-1);
// int y = random.nextInt(h-1);
int r = random.nextInt(255);
int g = random.nextInt(255);
int b = random.nextInt(255);
paint.setColor(0xff000000 + (r << 16) + (g << 8) + b);
canvas.drawPoint(x, y, paint);
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
}
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
x = event.getX();
y = event.getY();
return false;
}
}
我只想把它画不点,但连接线,以允许用户在屏幕上画
上
的'Canvas'类也有一个['drawLine'方法](http://developer.android.com/reference/android/graphics/Canvas.html) – Michael