首页 > 解决方案 > 展开时如何模糊或着色BottomSheetScaffold 后面的内容?

问题描述

有没有办法在BottomSheetScaffold展开时对后面的内容进行着色或模糊处理(并且不是全屏)?

标签: androidandroid-jetpack-compose

解决方案


如果工作表的状态被展开,我所做的是在内容顶部显示一个“暗淡的覆盖”。

Box() {
     // <your other content here>

     // transparent overlay on top of content, shown if sheet is expanded
     if (bottomSheetScaffoldState.bottomSheetState.isExpanded) {
         Box(modifier = Modifier.background(color).fillMaxSize()) {}
     }
}

当然,您也可以使用其他东西来代替半透明框,例如图像。

另请注意,如果底部的工作表过渡是动画的,则只有在动画完成后bottomSheetState才会切换到。在调用工作表之前expanded,您可以使用您设置为true(例如)的单独布尔状态。bottomSheetShownexpand()


推荐阅读