public class MainActivity extends Activity {
ImageView image;
Button bt_save, bt_clear;
int downX, downY, moveX, moveY;
Canvas canvas;
Bitmap bitmap;
Paint paint;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
public void initView() {
image = (ImageView) findViewById(R.id.image);
bt_clear = (Button) findViewById(R.id.bt_clear);
bt_save = (Button) findViewById(R.id.bt_save);
image.setOnTouchListener(new MyOnTouchListener());
}
class MyOnTouchListener implements OnTouchListener {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
System.out.println("按下了");
downX = (int) event.getX();
downY = (int) event.getY();
if (bitmap == null) {
bitmap = Bitmap.createBitmap(image.getWidth(),
image.getHeight(), Config.ARGB_4444); 创建Bitmap
canvas = new Canvas(bitmap); 给画板贴上一副画纸
paint = new Paint(); //创建画笔
paint.setStrokeWidth(5); //设置画笔粗细
paint.setColor(Color.GREEN); //画笔颜色
canvas.drawColor(Color.BLUE); //画纸颜色
image.setImageBitmap(bitmap);
}
break;
case MotionEvent.ACTION_MOVE:
moveX = (int) event.getX();
moveY = (int) event.getY();
canvas.drawLine(downX, downY, moveX, moveY, paint); //画线
downX = moveX;
downY = moveY;
image.setImageBitmap(bitmap);
System.out.println("移动");
break;
case MotionEvent.ACTION_UP:
System.out.println("松开了");
// image.setImageBitmap(bitmap);
break;
default:
break;
}
return true;
}
}
}
android Canvas 画板 和 OnTouch 事件
最新推荐文章于 2023-03-08 00:22:49 发布