簡體   English   中英

Jetpack Compose 對話框 - 有沒有辦法改變背景透明度?

[英]Jetpack Compose Dialog - Is there a way to change the background transparency?

當我們在 Jetpack Compose 中顯示Dialog / AlertDialog時,背景似乎有點暗,有沒有辦法調整背景 alpha 或使其透明? 例如:顯示對話框時,此圖像中的白色背景變為深灰色。

您可以使用全屏對話框,然后將包含所需文本的卡片插入其中。 例如:

AlertDialog(
            modifier = Modifier.fillMaxSize(),
            backgroundColor = Color.White.copy(alpha = 0.2f),
            properties = DialogProperties(usePlatformDefaultWidth = false),

您可以在文本部分添加您的 Card Composable:

text = {
        Card(Modifier.size(200.dp)) {
        Text(text = "test")
     }
}

希望這可以幫助!

此行為由android.view.Window控制。

它位於Dialog的深處,我能想到的唯一改變它的方法是復制所有源代碼。

然后,在源代碼的這一行中,您可以插入以下內容:

window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND)

我嘗試使用Dialog ,但無法清除標志WindowManager.LayoutParams.FLAG_DIM_BEHIND

您可以嘗試使用 Popup 代替 Dialog,一切都對我有用。

Popup(
        onDismissRequest = {},
        properties = PopupProperties(
            focusable = true,
            dismissOnBackPress = false,
            dismissOnClickOutside = false,
            excludeFromSystemGesture = true,
        )
    ) {
        Box(
            contentAlignment = Alignment.Center,
            modifier = Modifier
                .fillMaxSize()
                .background(Color.Transparent)
        ) {
            // Your content code is here
        }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM