半透明app集成unity后,unity背景透明的解决办法

半透明app引起的背景透明问题

前几天遇到个问题:app是半屏的,为了不使另一部分背景黑,设置了如下的style属性

	<item name="android:windowIsTranslucent">true</item>

同时app集成了unity,unity用到了半透明的背景图
结果运行后,app里unity的部分透出了桌面

解决办法:
首先 unity如果希望有层级关系,需要设置z

			 // surfaceView 透明化
    for (i in 0 until unityPlayer.childCount) {
        if (unityPlayer.getChildAt(i) is SurfaceView) {
            val tmp = unityPlayer.getChildAt(i) as SurfaceView
            tmp.holder.setFormat(PixelFormat.OPAQUE)
            tmp.setZOrderOnTop(true)
            tmp.setZOrderMediaOverlay(true)
        }
    }

另外,如果希望 不透明,则需要设置format

可以看unity Player的源码

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/ligaoyuan8030/article/details/128399948