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