diff --git a/Android/app/src/main/java/name/jinleili/wgpu/MainActivity.kt b/Android/app/src/main/java/name/jinleili/wgpu/MainActivity.kt index f902741..a487856 100644 --- a/Android/app/src/main/java/name/jinleili/wgpu/MainActivity.kt +++ b/Android/app/src/main/java/name/jinleili/wgpu/MainActivity.kt @@ -53,14 +53,52 @@ fun SurfaceCard() { ) { Text(text = "wgpu in Android App", fontSize = 20.sp, fontWeight = FontWeight.Bold) } - Row( - verticalAlignment = Alignment.CenterVertically, - horizontalArrangement = Arrangement.Center, - modifier = Modifier - .height(54.dp) - .padding(horizontal = 0.dp, vertical = 9.dp) - .fillMaxWidth() - ) { +// Row( +// verticalAlignment = Alignment.CenterVertically, +// horizontalArrangement = Arrangement.Center, +// modifier = Modifier +// .height(54.dp) +// .padding(horizontal = 0.dp, vertical = 9.dp) +// .fillMaxWidth() +// ) { + +// ToggleButton( +// currentSelection = selected, +// toggleStates = toggleValues, +// onToggleChange = { title -> +// selected = title +// toggleValues.forEachIndexed { idx, v -> +// if (v == title) { +// surfaceView?.changeExample(idx) +// } +// } +// }, +// ) +// +// } +// Spacer(modifier = Modifier.height(8.dp)) +// AndroidView( +// factory = { ctx -> +// val sv = WGPUSurfaceView(context = ctx) +// surfaceView = sv +// sv +// }, +// modifier = Modifier +// .fillMaxWidth() +// .height(screenWidth), +// ) +// } + Box(modifier = Modifier.fillMaxSize()) { + AndroidView( + factory = { ctx -> + val sv = WGPUSurfaceView(context = ctx) + surfaceView = sv + sv + }, + modifier = Modifier + .fillMaxWidth() + .height(screenWidth), + ) ToggleButton( currentSelection = selected, toggleStates = toggleValues, @@ -73,18 +111,6 @@ fun SurfaceCard() { } }, ) - } - Spacer(modifier = Modifier.height(8.dp)) - AndroidView( - factory = { ctx -> - val sv = WGPUSurfaceView(context = ctx) - surfaceView = sv - sv - }, - modifier = Modifier - .fillMaxWidth() - .height(screenWidth), - ) } } diff --git a/Android/app/src/main/java/name/jinleili/wgpu/WGPUSurfaceView.kt b/Android/app/src/main/java/name/jinleili/wgpu/WGPUSurfaceView.kt index 433251c..1d4e7f5 100644 --- a/Android/app/src/main/java/name/jinleili/wgpu/WGPUSurfaceView.kt +++ b/Android/app/src/main/java/name/jinleili/wgpu/WGPUSurfaceView.kt @@ -29,7 +29,10 @@ class WGPUSurfaceView : SurfaceView, SurfaceHolder.Callback2 { holder.addCallback(this) // The only way to set SurfaceView background color to transparent: // https://groups.google.com/g/android-developers/c/jYjvm7ItpXQ?pli=1 - this.setZOrderOnTop(true) +// this.setZOrderOnTop(true) + + // 让系统 ui 能覆盖在 SurfaceView 之上 + this.setZOrderMediaOverlay(true) holder.setFormat(PixelFormat.TRANSPARENT) } diff --git a/cargo-so/Cargo.toml b/cargo-so/Cargo.toml index 9211a31..395ceca 100644 --- a/cargo-so/Cargo.toml +++ b/cargo-so/Cargo.toml @@ -4,7 +4,7 @@ authors = ["jinleili"] description = "Helps cargo build Android .so lib files" repository = "https://github.com/jinleili/wgpu-in-app" readme = "./README.MD" -keywords = ["android", "so", "ndk", "jni", "cargo", "wgpu"] +keywords = ["android", "so", "ndk", "jni", "cargo"] license = "MIT OR Apache-2.0" edition = "2021" version = "0.3.0"