2026/5/13 19:45:54
网站建设
项目流程
艺术设计专业灵感推荐网站,特种作业证查询系统入口,公司简介模板免费下载world,wordpress5.2自动保存Snackbar
1、基本介绍Snackbar 是一种轻量级反馈机制#xff0c;它用于提供有关操作或动作的反馈Snackbar 会在显示几秒后消失#xff0c;也可以通过用户交互消失#xff0c;包含一个可选的用户操作2、基本使用
val scope rememberCoroutineScope()
val snackbarHostState …Snackbar1、基本介绍Snackbar 是一种轻量级反馈机制它用于提供有关操作或动作的反馈Snackbar 会在显示几秒后消失也可以通过用户交互消失包含一个可选的用户操作2、基本使用valscoperememberCoroutineScope()valsnackbarHostStateremember{SnackbarHostState()}vardescbyremember{mutableStateOf()}Box(modifierModifier.fillMaxSize()){Column(modifierModifier.fillMaxSize(),horizontalAlignmentAlignment.CenterHorizontally){Button(onClick{scope.launch{valreusltsnackbarHostState.showSnackbar(message这是一条 Snackbar,actionLabel关闭,durationSnackbarDuration.Short)when(reuslt){SnackbarResult.ActionPerformed-{descSnackbar 手动关闭}SnackbarResult.Dismissed-{descSnackbar 自动关闭}}}descSnackbar 显示}){Text(显示 Snackbar)}Text(desc)}SnackbarHost(modifierModifier.align(Alignment.BottomCenter).padding(16.dp),hostStatesnackbarHostState)}Box1、基本介绍ComposableinlinefunBox(modifier:ModifierModifier,contentAlignment:AlignmentAlignment.TopStart,propagateMinConstraints:Booleanfalse,content:ComposableBoxScope.()-Unit)参数说明modifier设置基础属性contentAlignment设置子元素的默认对齐方式propagateMinConstraints设置是否将最小约束传递给子元素content主要内容区域2、基本使用Box 的基本使用Box(modifierModifier.size(200.dp).background(Color.LightGray)){Text(test1,modifierModifier.align(Alignment.BottomStart))Text(test2,modifierModifier.align(Alignment.TopEnd))}Box(modifierModifier.fillMaxSize()){Text(text居中文本,modifierModifier.align(Alignment.Center))Button(onClick{},modifierModifier.align(Alignment.BottomCenter)){Text(底部按钮)}}使用 contentAlignmentBox(modifierModifier.size(200.dp).background(Color.LightGray),contentAlignmentAlignment.Center,){Text(test)}子元素使用 matchParentSize 函数填充父元素Box(modifierModifier.size(200.dp)){Box(modifierModifier.matchParentSize().background(Color.Red.copy(alpha0.3f)))Text(test,modifierModifier.align(Alignment.Center))}3、使用 propagateMinConstraints外部灰色 Box 的最小约束不会传递给子元素导致内部红色 Box 尺寸为 0dp外部灰色 Box 受尺寸范围与内部红色 Box 尺寸影响尺寸为 100dpBox(modifierModifier.background(Color.LightGray).widthIn(min100.dp,max300.dp).heightIn(min100.dp,max300.dp)){Box(modifierModifier.background(Color.Red.copy(alpha0.3f)))}外部灰色 Box 的最小约束会传递给子元素导致内部红色 Box 尺寸为 100dp外部灰色 Box 受尺寸范围与内部红色 Box 尺寸影响尺寸为 100dpBox(modifierModifier.background(Color.LightGray).widthIn(min100.dp,max300.dp).heightIn(min100.dp,max300.dp),propagateMinConstraintstrue){Box(modifierModifier.background(Color.Red.copy(alpha0.3f)))}外部灰色 Box 的最小约束会传递给子元素内部红色 Box 自定义尺寸为 150dp外部灰色 Box 受尺寸范围与内部红色 Box 尺寸影响尺寸为 150dpBox(modifierModifier.background(Color.LightGray).widthIn(min100.dp,max300.dp).heightIn(min100.dp,max300.dp),propagateMinConstraintstrue){Box(modifierModifier.size(150.dp).background(Color.Red.copy(alpha0.3f)))}4、子元素层级后声明的子元素绘制在先声明的子元素之上Box(modifierModifier.size(200.dp).background(Color.LightGray),){Box(modifierModifier.size(150.dp).background(Color.Red).align(Alignment.TopStart))Box(modifierModifier.size(150.dp).background(Color.Green).align(Alignment.Center))}可以使用 zIndex 控制层级zIndex 值越大层级越高Box(modifierModifier.size(200.dp).background(Color.LightGray).zIndex(1f),){Box(modifierModifier.size(150.dp).background(Color.Red).align(Alignment.TopStart).zIndex(3f))Box(modifierModifier.size(150.dp).background(Color.Green).align(Alignment.Center).zIndex(2f))}