在windowIsFloating活动上使用MediaPlayer会使影子覆盖视频

时间:2011-02-21 10:59:57

标签: android android-activity themes media-player

当我使用MediaPlayer在以对话框或windowIsFloating属性为主题的Activity中播放视频时,我会得到一个覆盖视频的阴影(对话框背景阴影)。为什么?我怎么摆脱它呢? 我猜这与SufaceViews的性质有关,在窗口后面有一个z顺序,并在它前面打孔。

我使用windowIsFloating属性的原因是我需要暂停之前的活动以尽快恢复它。我知道操作系统也可以关闭它。但这没关系,因为它接缝大部分时间我不必重新初始化活动。

或者还有其他方法可以让我的上一个活动在开始第二次活动时保持暂停状态(比如使用对话框时)吗?

2 个答案:

答案 0 :(得分:0)

如:How do I create a transparent Activity on Android? 将backgroundDimEnabled主题属性设置为false可以解决问题。

<item name="android:backgroundDimEnabled">false</item>

答案 1 :(得分:0)

如果您确实希望活动的背景变暗,则标记的答案无法解决问题。

我发现设置以下任一样式属性都会将视频设置为灰色:

<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">true</item>

解决方案是将VideoView设置在顶部:

mVideoView.setZOrderOnTop(true);

感谢solution的空间主义。