SurfaceView透明度问题

时间:2011-08-29 10:30:41

标签: android transparency surfaceview

我有这个问题:我在framelayout中添加了两个视图实例。第一个视图是VideoView,它循环播放视频。第二个视图位于视频视图上方,是一个表面视图。 surfaceview绘制一些.png是一个白色矩形,需要一小部分屏幕。不需要的部分必须是透明的。为了做到这一点,我使用了下一个代码行(surfaceview实现SurfaceHolder.Callback):

setZOrderOnTop(true);
getHolder().setFormat(PixelFormat.Transparent);

问题是我想让白色矩形半透明以便观看视频播放的电影。透明效果在surfaceview的未使用部分上工作正常,但矩形不会变成半透明(如果我将一个背景绘制到surfaceview,效果变得可见。)我等待你们的解决方案.Thx

2 个答案:

答案 0 :(得分:0)

也许SurfaceHolder不允许alpha。你检查过PixelFormat.formatHasAlpha()的结果吗?或者您是否尝试过明确设置PixelFormat.RGBA_4444,RGBA_5551或RGBA_8888以查看会发生什么?

答案 1 :(得分:0)

mVideoView.setZOrderOnTop( true );
getHolder().setFormat( PixelFormat.RGBA_8888 );

为我工作。