Advertisement
kanzeparov

Third_withInterface_CanvasView

Nov 18th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.94 KB | None | 0 0
  1. class CanvasView extends View implements ICanvasView{
  2.     Paint paint;
  3.     MainCircle mainCircle;
  4.     static int width;
  5.     static int height;
  6.     Canvas canvas;
  7.  
  8.     CanvasView(Context context, @Nullable AttributeSet attrs) {
  9.         super(context, attrs);
  10.         initWidthAndHeight(context);
  11.         initMainCircle();
  12.         initPaint();
  13.  
  14.     }
  15.  
  16.  
  17.     void initMainCircle() {
  18.         mainCircle = new MainCircle(width/2, height/2);
  19.     }
  20.  
  21.     void initPaint() {
  22.         paint = new Paint(); // Создание кисточки
  23.         paint.setAntiAlias(true);//сглаживание
  24.         paint.setStyle(Paint.Style.FILL); //Заполнение кружка цветом
  25.     }
  26.  
  27.     void initWidthAndHeight(Context context) {
  28.                 WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
  29.                 Display display = windowManager.getDefaultDisplay();
  30.                 Point point = new Point();
  31.                 display.getSize(point);
  32.                 width = point.x;
  33.                 height = point.y;
  34.             }
  35.  
  36.  
  37.     @Override
  38.     protected void onDraw(Canvas canvasFromMethod) {
  39.         super.onDraw(canvasFromMethod);
  40.         canvas = canvasFromMethod;
  41.         drawCircle(mainCircle);
  42.     }
  43.  
  44.  
  45.  
  46.  
  47.     @Override
  48.      public boolean onTouchEvent(MotionEvent event) {
  49.                 int x = (int) event.getX();
  50.                 int y = (int) event.getY();
  51.                 if (event.getAction() == MotionEvent.ACTION_MOVE) {
  52.                     mainCircle.moveMainCircleWhenTouchAt(x, y);
  53.                     }
  54.                 invalidate();//ОБНОВЛЕНИЕ
  55.                 return true;
  56.             }
  57.     //Для того, чтобы в этот метод подавать и другие круги
  58.     @Override
  59.     public void drawCircle(SimpleCircle circle) {
  60.         canvas.drawCircle(circle.getX(), circle.getY(), circle.getRadius(), paint);
  61.     }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement