title: Android transparent canvas (surfaceview)
body: <p>I've got a panel which is placed on top of another view via a relativelayout.</p>
  
  <p>I would like to give this panel a transparent background, but didn't find the correct way to do this after searching for some hours. When I set the alpha back to 0 I end up with a black background.</p>
  
  <p>Hopefully someone here can help me with this.</p>
  
  <p>Thanks a lot!</p>
  
  <p>The panel is drawn via this code:</p>
  
  <pre><code>    import android.content.Context;
      import android.graphics.Canvas;
      import android.graphics.Paint;
      import android.util.AttributeSet;
      import android.view.SurfaceHolder;
      import android.view.SurfaceView;
  
      public class Panel extends SurfaceView implements SurfaceHolder.Callback {
  
      private ViewThread mThread;
  
      Paint paint = new Paint();
  
      public Panel(Context context, AttributeSet attributeSet) {
          super(context, attributeSet);
          getHolder().addCallback(this);
          mThread = new ViewThread(this);
      }
  
      public void doDraw(Canvas canvas) {
          canvas.drawARGB(50, 120, 120, 120);
  
          paint.setARGB(255, 255, 0, 0);
          paint.setStrokeWidth(2);
  
          int CanvasHeight = canvas.getHeight();
          int CanvasWidth  = canvas.getWidth();
  
          canvas.drawLine(LeftStartX, LeftStartY, StopX, StopY, paint);
      }
  
      public void updateDrawing(float LB, float RB, float BD, float AH, float AD ){
          Left = LB;
          Right = RB;
          Distance = BD;
          AHeight = AH;
          ADistance = AD;
      }
  
      public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {}
  
  
      public void surfaceCreated(SurfaceHolder holder) {
          if (!mThread.isAlive()) {
              mThread = new ViewThread(this);
              mThread.setRunning(true);
              mThread.start();
          }
      }
  
  
      public void surfaceDestroyed(SurfaceHolder holder) {
          if (mThread.isAlive()) {
              mThread.setRunning(false);
          }
      }
  }
  </code></pre>