半透明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的源码