title: How to make SurfaceView with transparent background?
body: <p>I have simple layout</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:id="@+id/RelativeLayout1"
      android:layout_width="fill_parent"
      android:layout_height="fill_parent"
      android:background="@drawable/backgroundtimer"
      android:orientation="vertical" &gt;
  
      &lt;TextView
          android:id="@+id/TextView1"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:layout_alignParentLeft="true"
          android:layout_alignParentTop="true"
          android:text="@string/hello" /&gt;
  
      &lt;com.fmech.zenclock.surface.ZenClockSurface
          android:id="@+id/zenClockSurface1"
          android:layout_width="100dp"
          android:layout_height="100dp"
          android:layout_centerHorizontal="true"
          android:layout_centerVertical="true"/&gt;
  
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>And a have ZenClockSurface class</p>
  
  <pre><code>package com.fmech.zenclock.surface;
  
  import android.content.Context;
  import android.content.res.Resources;
  import android.graphics.Bitmap;
  import android.graphics.BitmapFactory;
  import android.graphics.Canvas;
  import android.graphics.Color;
  import android.graphics.Matrix;
  import android.graphics.Paint;
  import android.graphics.Paint.Style;
  import android.graphics.PixelFormat;
  import android.util.AttributeSet;
  import android.view.SurfaceHolder;
  import android.view.SurfaceView;
  
  public class ZenClockSurface extends SurfaceView implements SurfaceHolder.Callback{
  
      private DrawClock drawClock;
  
      public ZenClockSurface(Context context, AttributeSet attrs, int defStyle) {
          super(context, attrs, defStyle);
          this.getHolder().setFormat(PixelFormat.TRANSLUCENT);
          getHolder().addCallback(this);
      }
  
      public ZenClockSurface(Context context) {
          super(context);
          this.getHolder().setFormat(PixelFormat.TRANSLUCENT);
          getHolder().addCallback(this);
      }
  
      public ZenClockSurface(Context context, AttributeSet attrs) {
          super(context, attrs);
          this.getHolder().setFormat(PixelFormat.TRANSLUCENT);
          getHolder().addCallback(this);
      }
  
      @Override
      public void surfaceChanged(SurfaceHolder holder, int format, int width,
              int height) {
          // TODO Auto-generated method stub
  
      }
  
      @Override
      public void surfaceCreated(SurfaceHolder holder) {
          //this.getHolder().setFormat(PixelFormat.TRANSPARENT);
          drawClock = new DrawClock(getHolder(), getResources());
          drawClock.setRunning(true);
          drawClock.start();
  
      }
  
      @Override
      public void surfaceDestroyed(SurfaceHolder holder) {
          boolean retry = true;
          // завершаем работу потока
          drawClock.setRunning(false);
          while (retry) {
              try {
                  drawClock.join();
                  retry = false;
              } catch (InterruptedException e) {
              }
          }
  
      }
  
      class DrawClock extends Thread{
          private boolean runFlag = false;
          private SurfaceHolder surfaceHolder;
          private Bitmap picture;
          private Matrix matrix;
          private long prevTime;
          private Paint painter;
  
          public DrawClock(SurfaceHolder surfaceHolder, Resources resources){
              this.surfaceHolder = surfaceHolder;
  
              this.surfaceHolder.setFormat(PixelFormat.TRANSLUCENT);
              picture = BitmapFactory.decodeResource(resources, R.drawable.ic_launcher);
  
              matrix = new Matrix();
              this.painter=new Paint();
              this.painter.setStyle(Paint.Style.FILL);
  
          }
  
          public void setRunning(boolean run) {
              runFlag = run;
          }
  
          @Override
          public void run() {
              Canvas canvas;
              while (runFlag) {
  
                      matrix.preRotate(1.0f, picture.getWidth() / 2, picture.getHeight() / 2);
                  canvas = null;
                  try {
                      //surfaceHolder.getSurface().setAlpha(0.5f);
                      canvas = surfaceHolder.lockCanvas(null);
                      synchronized (surfaceHolder) {
  
                          canvas.drawColor(Color.TRANSPARENT);
  
                          canvas.drawBitmap(picture, matrix, this.painter);
                      }
                  } 
                  finally {
                      if (canvas != null) {
                          surfaceHolder.unlockCanvasAndPost(canvas);
                      }
                  }
              }
          }
      }
  }
  </code></pre>
  
  <p>And code of activity</p>
  
  <pre><code>package com.fmech.zenclock.surface;
  
  import android.app.Activity;
  import android.graphics.PixelFormat;
  import android.os.Bundle;
  
  public class ZenClockSurfaceActivity extends Activity {
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          getWindow().setFormat(PixelFormat.TRANSLUCENT);
          setContentView(R.layout.main);
  
  
      }
  }
  </code></pre>
  
  <p>I want what background color of android picture was tranparent but i get black background. </p>
  
  <p>I have background on RelativeLayout with some picture bu SurfaceView rotate Android icon with no transparent.</p>
  
  <p>How i can do transparent?</p>