Android SurfaceView 黑背景的处理方法
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Android SurfaceView 黑背景的处理方法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                ?SurfaceView 繪制的時候出現黑背景的如下
或者如下
處理方法就是添加
 //畫布透明處理this.setZOrderOnTop(true);this.mSurfaceHolder.setFormat(PixelFormat.TRANSLUCENT); 
下面是是一個繪制圓環的方法,具體如下,沒有黑色的背景
public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback, Runnable {private SurfaceHolder mSurfaceHolder;private Canvas mCanvas;private Paint paint;public MySurfaceView(Context context) {super(context);initView();}public MySurfaceView(Context context, AttributeSet attrs) {super(context, attrs);initView();}public MySurfaceView(Context context, AttributeSet attrs, int defStyleAttr) {super(context, attrs, defStyleAttr);initView();}private void initView() {paint = new Paint();paint.setColor(Color.RED);paint.setStrokeWidth(10);paint.setStyle(Paint.Style.STROKE);// 返回SurfaceHolder,提供對該SurfaceView的基礎表面的訪問和控制this.mSurfaceHolder = getHolder();//注冊回調方法this.mSurfaceHolder.addCallback(this);//畫布透明處理this.setZOrderOnTop(true);this.mSurfaceHolder.setFormat(PixelFormat.TRANSLUCENT);}@Overridepublic void surfaceCreated(SurfaceHolder holder) {// Surface創建時觸發new Thread(this).start();}@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {// Surface改變時觸發}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {// Surface銷毀時觸發}@Overridepublic void run() {Drawing();}// 繪制圓private void Drawing() {mCanvas = mSurfaceHolder.lockCanvas();if (null != mCanvas) {mCanvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);mCanvas.drawCircle(200, 200, 200, paint);mSurfaceHolder.unlockCanvasAndPost(mCanvas);}}} 
?
總結
以上是生活随笔為你收集整理的Android SurfaceView 黑背景的处理方法的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 新海诚电影是谁画的呢?
 - 下一篇: 求一个朱一龙qq网名