Problem mit der Hintergrundtransparenz, verursacht durch eine durchsichtige App
Ich bin vor ein paar Tagen auf ein Problem gestoßen: Die App ist halb. Um den anderen Teil des Hintergrunds nicht schwarz zu machen, werden die folgenden Stilattribute gesetzt
<item name="android:windowIsTranslucent">true</item>
Gleichzeitig integriert die App Unity, und Unity verwendet ein durchscheinendes Hintergrundbild.
Nach dem Ausführen wird der Unity-Teil der App durch den Desktop angezeigt.
Lösung:
Wenn Unity eine hierarchische Beziehung haben möchte, müssen Sie zunächst z festlegen
// 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)
}
}
Wenn Sie undurchsichtig sein möchten, müssen Sie außerdem das Format festlegen
Sie können den Quellcode von Unity Player sehen