当前位置: 首页 > wzjs >正文

企业门户网站建设机构学院网站建设项目概述

企业门户网站建设机构,学院网站建设项目概述,招聘网站页面设计图片,五屏网站建设价位这一节主要了解一下Compose中用到的Dialog,Dialog 是用于创建模态对话框的重要组件,它会阻止用户与对话框背后的界面进行交互,直到对话框被关闭。如下是几种常见的Dialog: 1. 使用 AlertDialog AlertDialog 是用于显示简单提示或…

       这一节主要了解一下Compose中用到的Dialog,Dialog 是用于创建模态对话框的重要组件,它会阻止用户与对话框背后的界面进行交互,直到对话框被关闭。如下是几种常见的Dialog:

1. 使用 AlertDialog
AlertDialog 是用于显示简单提示或确认对话框的组件。

@Composable
fun DialogExample() {var showDialog by remember {mutableStateOf(false)}Column() {Button(onClick = {showDialog = true}){Text("显示 dialog")}if(showDialog) {AlertDialog(modifier = Modifier.width(400.dp).height(200.dp),onDismissRequest = { showDialog = false},title = { Text("Title")},confirmButton = {TextButton(onClick = {showDialog = false}) {Text(text = "Confirm")}},dismissButton = {TextButton(onClick = {showDialog = false}) {Text(text = "Cancel")}},text = {Text("这是Dialog的主体内容")})}}
}

2. 使用 Dialog
Dialog 是一个更通用的对话框组件,允许自定义内容。

@Composable
fun CustomDialogExample(onDismissRequest: () -> Unit) {val openDialog = remember { mutableStateOf(true) }Column() {Button(onClick = {openDialog.value = true}) {Text("show dialog")}if (openDialog.value) {Dialog(onDismissRequest = {openDialog.value = falseonDismissRequest()}) {Surface(shape = RoundedCornerShape(16.dp),color = MaterialTheme.colors.surface) {Column(modifier = Modifier.padding(16.dp),horizontalAlignment = Alignment.CenterHorizontally) {Text("Custom Dialog", style = MaterialTheme.typography.h6)Spacer(modifier = Modifier.height(16.dp))Text("This is a custom dialog with a custom layout.")Spacer(modifier = Modifier.height(24.dp))Button(onClick = {openDialog.value = falseonDismissRequest()}) {Text("Close")}}}}}}
}使用:CustomDialogExample(onDismissRequest = {Log.d("Dialog","====>>> Test")})

3. 使用 ModalBottomSheetLayout
ModalBottomSheetLayout 用于显示从底部弹出的对话框。

@OptIn(ExperimentalMaterialApi::class)
@Composable
fun BottomSheetDialogExample() {val modalBottomSheetState = rememberModalBottomSheetState(ModalBottomSheetValue.Hidden)val coroutineScope = rememberCoroutineScope()ModalBottomSheetLayout(sheetState = modalBottomSheetState,sheetContent = {Column(modifier = Modifier.fillMaxWidth().padding(16.dp),horizontalAlignment = Alignment.CenterHorizontally) {Text("Bottom Sheet Dialog", style = MaterialTheme.typography.h6)Spacer(modifier = Modifier.height(16.dp))Text("This is a bottom sheet dialog.")Spacer(modifier = Modifier.height(24.dp))Button(onClick = {coroutineScope.launch { modalBottomSheetState.hide() }}) {Text("Close")}}}) {Button(onClick = {coroutineScope.launch { modalBottomSheetState.show() }}) {Text("Show Bottom Sheet")}}
}

4. 使用 Popup
Popup 用于显示一个简单的弹出窗口。

@Composable
fun PopupExample() {val showPopup = remember { mutableStateOf(false) }Box(modifier = Modifier.fillMaxSize(),contentAlignment = Alignment.Center) {Button(onClick = { showPopup.value = true }) {Text("Show Popup")}if (showPopup.value) {Popup(onDismissRequest = { showPopup.value = false },alignment = Alignment.Center) {Surface(color = MaterialTheme.colors.surface,elevation = 8.dp,shape = RoundedCornerShape(8.dp)) {Column(modifier = Modifier.padding(16.dp),horizontalAlignment = Alignment.CenterHorizontally) {Text("Popup Dialog", style = MaterialTheme.typography.h6)Spacer(modifier = Modifier.height(16.dp))Text("This is a popup dialog.")Spacer(modifier = Modifier.height(24.dp))Button(onClick = { showPopup.value = false }) {Text("Close")}}}}}}
}

5. 使用 DropdownMenu
DropdownMenu 用于显示一个下拉菜单式的对话框。

@Composable
fun DropdownMenuExample() {val expanded = remember { mutableStateOf(false) }Box(modifier = Modifier.fillMaxSize(),contentAlignment = Alignment.Center) {Button(onClick = { expanded.value = true }) {Text("Show Dropdown Menu")}DropdownMenu(expanded = expanded.value,onDismissRequest = { expanded.value = false }) {DropdownMenuItem(onClick = { expanded.value = false }) {Text("Option 1")}DropdownMenuItem(onClick = { expanded.value = false }) {Text("Option 2")}DropdownMenuItem(onClick = { expanded.value = false }) {Text("Option 3")}}}
}

注意: 1.使用remember管理对话框显示状态,对话框的显示与隐藏通常依赖于一个布尔类型的状态变量。为了确保状态在重组时能正确保存和恢复,需要使用 remember 来管理这个状态。2.避免在循环或条件语句中创建可变状态,不要在循环或条件语句中创建新的可变状态,因为这可能会导致状态不一致。3.避免在对话框中进行复杂计算,对话框中的内容应该尽量简洁,避免在对话框的组合过程中进行复杂的计算或耗时操作。如果有复杂的数据处理需求,应该在对话框显示之前完成计算,并将结果传递给对话框。


文章转载自:

http://YVyfUw7E.wjLhp.cn
http://6yCYHRHQ.wjLhp.cn
http://GwJePs28.wjLhp.cn
http://JSOCY23G.wjLhp.cn
http://YRwxmBWN.wjLhp.cn
http://L7K5loOO.wjLhp.cn
http://1m4zzJiI.wjLhp.cn
http://ZOArc4zu.wjLhp.cn
http://vVjm2S9C.wjLhp.cn
http://KzRZplu6.wjLhp.cn
http://bzh94QiG.wjLhp.cn
http://ndZ5XJlJ.wjLhp.cn
http://osJtX5f3.wjLhp.cn
http://8qovjb3S.wjLhp.cn
http://L2wMFcts.wjLhp.cn
http://kStyDA0M.wjLhp.cn
http://kmeahzbg.wjLhp.cn
http://gIrIGweK.wjLhp.cn
http://CNmVaasv.wjLhp.cn
http://gNcYgUVx.wjLhp.cn
http://uEBjF81G.wjLhp.cn
http://JPrtRxNr.wjLhp.cn
http://mpWIu0Ci.wjLhp.cn
http://VJyLf146.wjLhp.cn
http://moQOAzeS.wjLhp.cn
http://4cv15HHv.wjLhp.cn
http://RT8XLpug.wjLhp.cn
http://oQWS9Mte.wjLhp.cn
http://UwneoROO.wjLhp.cn
http://RCv2ZglE.wjLhp.cn
http://www.dtcms.com/wzjs/629298.html

相关文章:

  • 网站制作比较好的制作公司网站制作定制18
  • 云南昆明网站建设怎样找回网站备案密码
  • 郑州网站建设贝斯特wordpress手机版主题下载
  • 爱旅游网站制作制作手机app用什么语言
  • 做网站编程要学什么wordpress文字主题
  • 网站建设培训机构哪里好开购物网站需要多少钱
  • 做网站费用分几块做的比较好的企业网站
  • 哪些网站专门做康复科租电信网站服务器吗
  • 关于建设网站安全性合同河南网站建站系统平台
  • 本地wordpress怎么弄网站网站建设 今网科技
  • 免费app制作网站杭州公司注册多少钱
  • 整站下载器 安卓版龙岩天宫山缆车开放时间
  • 做游戏直播那个网站好北京网站空间
  • 分析竞争对手的网站警惕网站免费看手机
  • 中国做铁塔的公司网站网络平台营销
  • 单页网站有哪些做oa好 还是做网站好
  • 韩国网站 后缀深圳网页设计兴田德润电话多少
  • 太原网站建设服务哪个网站可以做图交易平台
  • 网站设计公司 上商城开发价格服务
  • 做海报网站找网站开发项目
  • 西安企业网站建设价格陕西恒立建设集团网站
  • 怎样开发网站建设网站建设费用申报
  • 对接空间站梧州网站推广
  • 网站源码分享网郑州量站站软件开发有限公司
  • asp网站ftp入侵高度重视机关门户网站建设
  • 网站建设 淘宝详情住房和城乡建设部网站施工员证
  • 宿迁网站建设怎么收费宁波市网站集约化建设通知
  • 网站建设指导方案开什么网店简单又挣钱
  • 互联网公司排名前十的在哪些城市官网seo哪家公司好
  • 做家政网站公司名称甘肃省建设厅门户网站