回答
使用surfaceview_obj.setBackgroundColor(INT顏色)來設置背景顏色..
設置白色作爲背景使用此代碼
surfaceview_obj.setBackgroundColor(0Xffffffff);
使用此
surfaceview.getHolder().setFormat(PixelFormat.TRANSLUCENT);
我已經嘗試了上述,但它並沒有幫助我 – 2013-03-08 04:18:53
你必須做一個小黑客,各地要在SurfaceView任何背景的工作,如:
覆蓋的setBackground
和setBackgroundDrawable
方法
Drawable background
@Override
public void setBackgroundDrawable(Drawable background) {
this.background = background;
}
@Override
public void setBackground(Drawable background) {
this.background = background;
}
不要忘記調用setBounds
上繪製
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
super.onLayout(changed, left, top, right, bottom);
matrix = null;
if (background != null)
background.setBounds(left, top, right, bottom);
}
然後在你鎖定,繪畫,解鎖並張貼在畫布上的代碼添加背景
Canvas c = holder.lockCanvas();
if (background != null)
background.draw(c);
// do your stuff here
holder.unlockCanvasAndPost(c);
適用於XML和Java背景。
有一種解決方法可以做到這一點。
爲surfaceview添加父視圖組,將背景色設置爲該視圖組而不是surfaceview;
<FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:background="@android:color/holo_blue_dark"> <com.example.surfacetest.MySurface android:id="@+id/surface" android:layout_width="match_parent" android:layout_height="match_parent" /> </FrameLayout>
爲SurfaceView實例添加以下內容;
surfaceView.setZOrderOnTop(true); surfaceView.getHolder().setFormat(PixelFormat.TRANSLUCENT);
現在你得到你想要的背景顏色和surfaceview是tanslucent。
這應該被標記爲正確的答案。它像一個魅力。 – andreimarinescu 2016-01-05 08:04:53
@wrkwrk:這可以工作,但是這樣做我不能覆蓋SurfaceView的任何視圖頂部。除了setXOrderOnTop(true)之外,我們還有其他選擇嗎? – 2016-05-13 09:01:36
完美!你從輕微的頭痛中拯救了我! – 2017-03-21 19:13:53
- 1. 在圖表中設置背景顏色
- 2. 重置視圖的背景顏色
- 3. 設置空表視圖空間的背景顏色
- 4. 設置分組表視圖的背景顏色
- 5. 設置背景圖像後設置背景顏色
- 6. 設置背景顏色和設置圖像在ImageButton背景 - Android
- 7. 將背景顏色設置爲頁面
- 8. 設置persp()圖的背景顏色
- 9. 設置背景圖片/顏色的MIDlet
- 10. 設置列表項的背景顏色
- 11. 設置表格的背景顏色
- 12. 在列表視圖中設置背景顏色
- 13. 設置背景顏色2
- 14. 設置背景顏色
- 15. Angular4背景顏色設置
- 16. 設置背景顏色[JAVA]
- 17. angular2設置背景顏色
- 18. 設置背景顏色
- 19. 設置背景顏色
- 20. 設置背景顏色:Android
- 21. Cardview設置背景顏色
- 22. 設置背景顏色toolbaritems
- 23. 設置VIM背景顏色
- 24. 設置背景顏色CMDIFrameWnd
- 25. 設置行背景顏色
- 26. 如何設置ap元素的背景顏色也爲上面的圖像設置背景顏色
- 27. 設置繪圖區背景顏色
- 28. UWP:設置背景顏色和圖像?
- 29. 設置背景顏色/圖像
- 30. 爲EKEventEditViewController設置背景顏色/圖像
Hi @Swarnedu。你的答案是正確的,但它會使表面視圖不透明,我只是想設置一個透明的背景顏色 – 2013-03-07 17:18:37
我不確定,只是試一試這個顏色代碼0X00ffffff – 2013-03-07 17:22:13
我已經檢查過。它總是使不透明的表面視圖 – 2013-03-07 17:26:16