其他分享
首页 > 其他分享> > Kotlin——jetpackCompose按钮弹出dialog

Kotlin——jetpackCompose按钮弹出dialog

作者:互联网

 

package com.example.jetpackcompose

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.material.*
import androidx.compose.runtime.Composable
import androidx.compose.runtime.MutableState
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import com.example.jetpackcompose.ui.theme.JetpackComposeTheme

class MainActivity : ComponentActivity() {
    private lateinit var openDialog: MutableState<Boolean>
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            JetpackComposeTheme {
                Surface(color = MaterialTheme.colors.background) {
                    openDialog = remember {
                        mutableStateOf(false)
                    }
                    addAlterDialog(openDialog = openDialog)
                    addButton(openDialog = openDialog)

                }
            }
        }
    }
}

@Composable
fun addButton(openDialog: MutableState<Boolean>) {
    Button(onClick = { openDialog.value = true }) {
        Text(text = "点击弹窗")
    }
}

@Composable
fun addAlterDialog(openDialog: MutableState<Boolean>) {
    if (openDialog.value) {
        AlertDialog(
            onDismissRequest = { openDialog.value = false },
            title = { Text(text = "标题") },
            text = {
                Text(
                    text = "文本内容"
                )
            }, confirmButton = {
                TextButton(onClick = { openDialog.value = false }) {
                    Text(text = "确认")
                }
            }, dismissButton = {
                TextButton(onClick = { openDialog.value = false }) {
                    Text(text = "取消")
                }
            })
    }
}

标签:compose,androidx,jetpackCompose,Kotlin,value,openDialog,dialog,text,import
来源: https://blog.csdn.net/wy313622821/article/details/122152019