0
我創建了一個餅圖SurfaceView組件。當我將背景顏色設置爲#fff0f0f0時,屏幕上的顏色呈現粉紅色。當我截取圖像並將其加載到繪圖包中時,十六進制顏色值爲f7f3f7。我使用下面的代碼來清除背景;Android畫布背景顏色與顏色值不匹配
int backgroundColour = getResources().getColor(R.color.grey);
Paint colour = new Paint();
colour.setAntiAlias(true);
colour.setColor(backgroundColour);
canvas.drawColor(colour.getColor());
這就是在我打電話後才被調用;
surfaceHolder.lockCanvas(null)
我找不出什麼原因導致了這個問題。 alpha通道設置爲FF,所以不應該有任何東西從背後透出。
只是要注意我已經使用和不使用Alpha通道
很酷,謝謝 - 聽起來很像。我將在星期一重新開始工作時檢查。在scrollview中使用surfaceview時似乎存在很多問題。滾動時上方和下方的黑條(我已經在負邊緣進行黑客修復)。隨機出現的黑色矩形(用透明背景色固定)。滾動時似乎也會出現鬆緊帶影響,就好像表面視圖無法跟上一樣。 – vilvic
SurfaceManager窗口(位置,大小)由WindowManager處理,例如,將SurfaceView放在滾動列表中並不是一個好主意。 TextureView將正常工作。如果您確實需要詳細信息,請參閱https://source.android.com/devices/graphics/architecture.html。 – fadden
它運作良好。我從SurfaceView切換到TextureView,並解決了很多其他問題。我還有一個問題,ScrollView有一個從上到下的漸變(從灰色到白色)。當我將背景顏色設置爲灰色以嘗試匹配ScrollView時,TextureView的頂部匹配,但底部並不是因爲下面更白。感謝您的幫助,它節省了大量時間。 – vilvic