雖然在 Android 的傳統 XML 視圖中有大量關于Tapjacking 的檔案,以防止惡意應用程式與敏感資訊互動,但 Jetpack Compose 的問題似乎沒有。
是否有filterTouchesWhenObscuredfor @Composables 的等價物,這個問題是在更基本的層面上解決的,還是需要使用手勢/觸摸修飾符來實作自定義邏輯?
uj5u.com熱心網友回復:
沒有辦法指定filterTouchesWhenObscured特定的可組合,并且根據這個維護者評論,目前沒有計劃:
在不久的將來,我們不太可能在 ComposeView 級別之外實作它。
但是你可以做它用于ComposableView繪制 Compose 樹。例如,如果您在螢屏上顯示某些特定視圖時將其應用于整個螢屏,您可以這樣做:
val composeView = LocalView.current
DisposableEffect(Unit) {
composeView.filterTouchesWhenObscured = true
onDispose {
composeView.filterTouchesWhenObscured = false
}
}
或者,如果您想將其應用于特定的可組合項,例如僅應用于螢屏的一部分,您可以使用這樣的包裝器:
@Composable
fun ObscuredView(
content: @Composable () -> Unit,
) {
AndroidView(
factory = {
ComposeView(it).apply {
filterTouchesWhenObscured = true
}
},
update = {
it.setContent(content)
}
)
}
用法:
ObscuredView {
Text("this text is Obscured")
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/482456.html
標籤:安卓 安卓布局 安全 android-jetpack-compose 机器人喷气背包
上一篇:公共GoogleApps腳本-如何隱藏我的API密鑰但仍可檢索它?
下一篇:IDEA初始化基礎配置
