【问题标题】:Detail explanation of all states in BottomSheetBehavior AndroidBottomSheetBehavior Android 中所有状态详解
【发布时间】:2020-09-16 19:08:01
【问题描述】:

BottomSheetBehavior 中大约有六个不同的状态。我没有得到任何适当的解释。

好像我不明白STATE_HIDDENSTATE_COLLAPSED 之间的区别?

同样STATE_SETTLINGSTATE_DRAGGING有什么区别?

还有STATE_HALF_EXPANDED有什么用?

【问题讨论】:

    标签: android bottom-sheet coordinator-layout android-bottomsheetdialog


    【解决方案1】:

    按照本文的指导https://androidwave.com/bottom-sheet-behavior-in-android/

    底页主要有5 states-

    1. STATE_COLLAPSED - 可见但仅显示其窥视高度。这种状态通常是底片的“静止位置”。
    2. STATE_EXPANDED – 底部工作表可见且其最大高度,既不拖动也不固定。
    3. STATE_DRAGGING - 用户正在主动向上或向下拖动底部工作表。
    4. STATE_SETTLING – 在拖动/滑动手势后稳定到特定高度。
    5. STATE_HIDDEN - 不再可见。

    STATE_HIDDEN and STATE_COLLAPSED 的不同之处在于,当BottomSheetSTATE_HIDDEN 中时,它是完全隐藏的,即在屏幕上不可见,而当它在STATE_COLLAPSED 中时,则只有窥视高度可见。

    BottomSheetSTATE_SETTLING 中时,它会在拖动或滑动到特定高度后展开或折叠,而STATE_DRAGGING 是用户拖动 BottomSheet 时的状态。

    STATE_HALF_EXPANDED是底页处于半展开状态时的状态。

    【讨论】:

    • 感谢您的描述。我现在明白了。
    【解决方案2】:

    STATE_COLLAPSED -> 底页可见,但仅显示其窥视高度。这种状态通常是底板的“静止位置”。窥视高度由开发人员选择,应足以表明有额外内容,允许用户触发操作或展开底部表格。

    STATE_HIDDEN -> 底页在屏幕上不再可见

    STATE_EXPANDED -> 底部工作表可见且其最大高度并且它既不拖动也不固定

    STATE_DRAGGING -> 用户主动拖动底部工作表向上下降

    STATE_SETTLING -> 底页稳定到特定高度 拖动/滑动手势。这将是窥视高度、展开高度或 0,以防用户操作导致底部工作表隐藏。

    STATE_HALF_EXPANDED -> 工作表半展开(半可见)。 (仅当 behavior_fitToContents 设置为 false 时才适用)。

    更多信息,您可以访问here

    【讨论】:

    • 谢谢。我收到了,也供参考。
    • 不用担心;)。乐于助人!
    • @RitikKumar 你应该接受一个最适合你的答案。
    猜你喜欢
    • 1970-01-01
    • 2018-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    相关资源
    最近更新 更多