【问题标题】:how to put an image view on top of a surfaceview android如何将图像视图放在surfaceview android之上
【发布时间】:2016-05-09 12:53:36
【问题描述】:

我有 Surface 视图,我设置了 setZOrderOnTop(true); 当我在此视图上录制视频时,将媒体播放器的显示设置为此视图,然后将其上的图像可见性设置为 true,我可以看到此表面视图上的图像。

现在,当我设置 mediaplayer.start() 时,视频会播放,但该表面视图上的图像消失了,即使在我明确设置表面视图 setZOrderOnTop(false); 后它们甚至都不可见;并且图像的可见性在媒体播放器的 onCompletion 中可见。但是 imageviews onclick 是启用的

请帮我解决这个问题。

【问题讨论】:

    标签: android surfaceview


    【解决方案1】:

    View UI 位于一层,SurfaceView Surface 位于另一层。您可以将 SurfaceView Surface 放在 View 元素的前面或后面,但不能放在 View 之间,并且一旦创建了 Surface 就无法更改位置:

    请注意,这必须在表面视图的包含窗口附加到窗口管理器之前设置。

    您可以通过将视频发送到TextureView 来解决 API 14+ 的问题。 TextureView 的效率较低,但可以像任何其他 View 一样在布局中进行操作。

    【讨论】:

    • 是的,但为什么只有我启动媒体播放器时,表面视图会出现在前面并隐藏图像视图。请帮忙。
    • 我怎样才能改变 Z 顺序( setZOrderOnTop(true); 到 setZOrderOnTop(false);)???请帮我。如果这不可能,请给我一个解决方案,说明如何删除表面视图并将表面视图添加到布局中。
    猜你喜欢
    • 2012-10-06
    • 1970-01-01
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 2012-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多