HorizontalDivider()
在 Kotlin Jetpack Compose 中,HorizontalDivider() 是一个用于创建水平分隔线的 Material Design 组件。
HorizontalDivider(modifier = Modifier.fillMaxWidth() // 充满宽度.padding(horizontal = 16.dp) // 水平边距.height(1.dp), // 高度thickness = 1.dp, //厚度:默认是 1.dpcolor = Color.Red)
ModalBottomSheet
ModalBottomSheet 是 Jetpack Compose Material3 中的一个组件,用于从屏幕底部向上滑出的模态对话框。
ModalBottomSheet(onDismissRequest = { showAgeSelector = false }, // 关闭回调sheetState = rememberModalBottomSheetState( // 状态控制skipPartiallyExpanded = false),containerColor = MaterialTheme.colorScheme.background, // 背景色shape = RoundedCornerShape(topStart = 16.dp, topEnd = 16.dp) // 形状
) {// 内容区域
}
1.onDismissRequest
-
作用:当用户尝试关闭底部工作表时触发
-
触发条件:
-
点击工作表外部区域
-
向下滑动工作表
-
按下返回键
-
2.sheetState
状态参数:
-
skipPartiallyExpanded = false:允许部分展开状态 -
skipPartiallyExpanded = true:直接跳转到完全展开状态
三种展开状态:
-
隐藏 (Hidden):完全不可见
-
部分展开 (PartiallyExpanded):显示部分内容
-
完全展开 (Expanded):显示全部内容
background()
在 Jetpack Compose 中,.background() 修饰符用于设置组件的背景,而圆角可以通过形状参数或单独的 .clip() 修饰符来实现。
-
圆角应该在
.background()修饰符中设置,而不是通过先.clip()再.background() -
RoundedCornerShape提供了灵活的圆角配置选项 -
背景圆角可以与边框、阴影等其他效果结合使用
-
考虑性能时,重用形状对象并避免过度复杂的形状
// ✅ 正确:在background中直接设置圆角
.background(color = MaterialTheme.colorScheme.primaryContainer,shape = RoundedCornerShape(12.dp)
)// ❌ 错误:先设置圆角再设置背景(圆角对背景无效)
.clip(RoundedCornerShape(12.dp))
.background(MaterialTheme.colorScheme.primaryContainer)
