【问题标题】:what's difference between ModalBottomSheetLayout and BottomSheetScaffold in compose?ModalBottomSheetLayout和BottomSheetScaffold在compose中有什么区别?
【发布时间】:2022-10-16 03:10:03
【问题描述】:

一个简单的问题,ModalBottomSheetLayout 和 BottomSheetScaffold 在 compose 中有什么区别? 如果他们都做同样的事情,那有什么区别?

【问题讨论】:

  • BottomSheetScaffold 提供了 slot API,您通常会在 Maps 应用程序中看到它,其中工作表不能完全折叠。

标签: android kotlin android-jetpack-compose


【解决方案1】:

BottomSheetScaffold 没有 BottomAppBar 属性

ModalBottomSheetLayout 只有 content 和 sheetContent

换句话说,ModalBottomSheetLayout 可以全屏

【讨论】:

    【解决方案2】:

    有几个不同之处。

    1. 模态底页布局是一个模态窗口这不允许您与屏幕的其余部分进行交互。如果您触摸屏幕的变暗部分,它将折叠。底片脚手架允许您与屏幕的其余部分进行交互。底片脚手架允许您始终将 bottomSheet 保留在屏幕上。您甚至可以禁用手势并且不允许用户关闭它。并且您可以添加 peekHeight 以使 bottomSheet 即使在折叠状态下也可见。
    2. 模态底页布局在屏幕的其余部分上方创建一个阴影,但它使状态栏保持不变(与 BottomSheetDialogFragment 不同,它使状态栏与屏幕的其余部分一起变暗)。底片脚手架不会使屏幕变暗。
    3. 正如人们已经说过的那样底片脚手架提供 Slot API,它是一个容器。您可以添加 TopAppBar、DrawerContent、SheetContent、浮动操作按钮和 Snackbar。模态底页仅包含 bottomSheet 内容。

      所以这些组件有不同的用例。

      模态底页布局是一个模态窗口,可用于向用户询问一次性行动需要立即注意

      底片脚手架是一个容器,允许您创建一个让与内容的持续互动可能的,例如您可以添加一个文本字段来输入消息或一个语音输入按钮

      希望有人会发现我的定义有用:)

    【讨论】:

      猜你喜欢
      • 2016-10-24
      • 2018-05-12
      • 2016-02-16
      • 1970-01-01
      • 1970-01-01
      • 2018-10-18
      • 2021-05-16
      • 2017-08-23
      • 1970-01-01
      相关资源
      最近更新 更多