Kosheen

SurfaceView Test #16

May 16th, 2021
707
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class TestSurfaceView extends SurfaceView implements SurfaceHolder.Callback{
  2.     float tX = -1000, tY = -1000;
  3.     int r = 0;
  4.  
  5.  
  6.  
  7.     public TestSurfaceView(Context context) {
  8.         super(context);
  9.         getHolder().addCallback(this);
  10.     }
  11.  
  12.     @Override
  13.     public boolean onTouchEvent(MotionEvent event) {
  14.         tX = event.getX();
  15.         tY = event.getY();
  16.         r = 0;
  17.         return true;
  18.     }
  19.  
  20.     @Override
  21.     public void surfaceChanged(final SurfaceHolder holder, int format, int width, final int height) {
  22.     }
  23.  
  24.     @Override
  25.     public void surfaceCreated(SurfaceHolder holder) {
  26.         Thread thread = new Thread(){
  27.             @Override
  28.             public void run() {
  29.                 while (true){
  30.                     Canvas canvas = null;
  31.                     canvas = getHolder().lockCanvas();
  32.                     synchronized (getHolder()){
  33.                         Paint paint = new Paint();
  34.                         paint.setColor(Color.YELLOW);
  35.                         canvas.drawColor(Color.BLUE);
  36.                         canvas.drawCircle(tX, tY, r, paint);
  37.                     }
  38.                     if(canvas != null){
  39.                         getHolder().unlockCanvasAndPost(canvas);
  40.                         try {
  41.                             Thread.sleep(1000);
  42.                         } catch (InterruptedException e) {
  43.                             e.printStackTrace();
  44.                         }
  45.                     }
  46.                     r += 5;
  47.                 }
  48.             }
  49.         };
  50.         thread.start();
  51.     }
  52.  
  53.     @Override
  54.     public void surfaceDestroyed(SurfaceHolder holder) {
  55.     }
  56. }
RAW Paste Data