Friday, 9 August 2019

Draw on Android's surfaceView

I want to paint black on surfaceView when i click the button but, it's seems like i'm messing something with my code, it's always white, i've tested the button and it's works:

SurfaceView surfaceView;
   SurfaceHolder holder;
   Canvas canvas;

@Override
   protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

     setContentView(R.layout.main_layout);

      surfaceView = (SurfaceView) findViewById(R.id.surfaceView);
      surfaceView.getHolder().addCallback(this);



      ImageButton paintInBlack;
      paintInBlack = (ImageButton) findViewById(R.id.button1);

      paintInBlack .setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Log.d( "test", "test" );
            Canvas canvas = new Canvas(mBitmap);
            Paint blackPaint = new Paint();
            blackPaint.setColor(Color.BLACK);
            blackPaint.setStyle(Paint.Style.FILL);
            canvas.drawPaint(blackPaint);
            canvas = holder.lockCanvas();
            canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);
            holder.unlockCanvasAndPost(canvas);
         }

Where i'm doing wrong? Thank you !



from Draw on Android's surfaceView

No comments:

Post a Comment