【问题标题】:SurfaceView becomes tranansparent onCreate and onDestroySurfaceView 变得透明 onCreate 和 onDestroy
【发布时间】:2014-06-01 20:26:27
【问题描述】:

我正在使用 SurfaceView 在我的活动中显示相机预览。 SurfaceView 被放置在一个片段内。

当显示此片段时,Surfaceview 在我的活动中打了一个洞, 让用户看到我的活动背后的一切。

相机满载后,一切正常。但是当我想切换回另一个 片段同样的事情发生。

如何防止这种行为?

谢谢, 舒基

【问题讨论】:

    标签: android android-fragments fragment android-camera surfaceview


    【解决方案1】:

    SurfaceViews 有两个部分,“表面”部分和“视图”部分。

    “视图”部分是与所有其他视图一起布置的透明孔。所有视图都合成到一个图层上。 “表面”部分是一个完全独立的层,呈现在视图层后面。它与“视图”部分具有相同的位置和大小,但出现在所有个视图之后。

    如果您希望“视图”交互不那么奇怪,并且您使用的是 API 14 或更高版本,则可以使用 TextureView 代替您的相机预览。

    【讨论】:

    • 感谢您的回答,我发现问题的原因是将 android:windowIsTranslucent 设置为 true,您知道如何在不更改此标志的情况下解决它吗?
    猜你喜欢
    • 1970-01-01
    • 2011-11-09
    • 2011-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多