Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package test;
- import android.app.Activity;
- import com.example.canv.R;
- import android.graphics.Bitmap;
- import android.graphics.Canvas;
- import android.graphics.Color;
- import android.graphics.Paint;
- import android.graphics.Point;
- import android.os.Bundle;
- import android.util.Log;
- import android.view.Display;
- import android.view.MotionEvent;
- import android.view.View;
- import android.view.View.OnTouchListener;
- import android.widget.ImageView;
- public class TouchDraw extends Activity implements OnTouchListener {
- ImageView imageView;
- Bitmap bitmap;
- Canvas canvas;
- Paint paint;
- float downx = 0, downy = 0, upx = 0, upy = 0;
- float lastX = 0, lastY = 0;
- boolean isNew = true;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_touch_draw);
- imageView = (ImageView) this.findViewById(R.id.imageView1);
- Display currentDisplay = getWindowManager().getDefaultDisplay();
- Point size = new Point();
- currentDisplay.getSize(size);
- bitmap = Bitmap.createBitmap((int) size.x, (int) size.y,
- Bitmap.Config.ARGB_8888);
- canvas = new Canvas(bitmap);
- paint = new Paint();
- paint.setStrokeWidth(5);
- paint.setColor(Color.GREEN);
- imageView.setImageBitmap(bitmap);
- imageView.setOnTouchListener(this);
- }
- public boolean onTouch(View v, MotionEvent event) {
- int action = event.getAction();
- switch (action) {
- case MotionEvent.ACTION_DOWN:
- isNew = true;
- Log.w("onTouch", ("X: " + event.getX() + ", Y: " + event.getY()));
- canvas.drawCircle(event.getX(), event.getY(), paint.getStrokeWidth()/2, paint);
- imageView.invalidate();
- /*
- downx = event.getX();
- downy = event.getY();
- break;*/
- case MotionEvent.ACTION_MOVE:
- //canvas.drawCircle(event.getX(), event.getY(), 1, paint);
- float x, y;
- x = event.getX();
- y = event.getY();
- if(!isNew)
- {
- canvas.drawLine(lastX, lastY, x, y, paint);
- canvas.drawCircle(x, y, paint.getStrokeWidth()/2, paint);
- imageView.invalidate();
- }
- else
- {
- isNew = false;
- }
- lastX = x;
- lastY = y;
- break;
- /*case MotionEvent.ACTION_UP:
- upx = event.getX();
- upy = event.getY();
- canvas.drawLine(downx, downy, upx, upy, paint);
- imageView.invalidate();
- break;
- case MotionEvent.ACTION_CANCEL:
- break;
- default:
- break;*/
- }
- return true;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement