Problème de transparence d'arrière-plan causé par une application translucide
J'ai rencontré un problème il y a quelques jours : l'application est en demi-écran. Afin de ne pas noircir l'autre partie de l'arrière-plan, les attributs de style suivants sont définis
<item name="android:windowIsTranslucent">true</item>
Dans le même temps, l'application intègre l'unité et l'unité utilise une image d'arrière-plan translucide.
Après l'exécution, la partie unité de l'application s'affiche sur le bureau.
Solution :
Tout d'abord, si l'unité veut avoir une relation hiérarchique, vous devez définir 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)
}
}
De plus, si vous voulez être opaque, vous devez définir le format
Vous pouvez voir le code source de l'unité Player