【问题标题】:Understanding BottomSheet Behavior Collapsed vs Hidden了解 BottomSheet 行为折叠与隐藏
【发布时间】:2016-09-14 07:32:02
【问题描述】:

我有一个底部工作表,其高度和宽度设置为match_parent。因此,当单击按钮时,我将行为设置为 STATE_EXPANDED,如下所示:

mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);

我的底页定义如下:

    <FrameLayout
        android:id="@+id/bottom_sheet"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clickable="true"
        android:elevation="@dimen/design_appbar_elevation"
        app:behavior_hideable="true"
        app:layout_behavior="@string/bottom_sheet_behavior">

        <include
            android:id="@+id/bottom_sheet_content"
            layout="@layout/bottomsheet_layout" />

    </FrameLayout>

我正在使用 BottomSheet 回调监视状态。

  • 我单击一个按钮,底部工作表展开为全屏。
  • 它的当前状态是STATE_EXPANDED
  • 我快速向下滑动底部页面。 (直到它关闭才完全拖动,像滚动一样简单地向下滑动)
  • 它在中间停止并且它的状态被记录为STATE_COLLAPSED
  • 如果我再次滑动,它就消失了,它的状态是STATE_HIDDEN

我不明白为什么它会停在中间。如何通过单次滑动将其隐藏。

我尝试将peek_height 设置为0dp。这样,它就永远不会遇到STATE_HIDDEN。隐藏时,其状态变为STATE_COLLAPSED。我只是不明白这种状态。

如何实现STATE_HIDDEN向下滑动?

【问题讨论】:

    标签: android bottom-sheet


    【解决方案1】:

    有点晚了,但我只是在寻找类似的东西时偶然发现了这一点。

    这是您可以跳过折叠状态的方法:

    在 XML 中通过将 app:behavior_skipCollapsed="true" 添加到 BottomSheet 视图。

    以编程方式使用setSkipCollapsed(boolean)

    【讨论】:

      猜你喜欢
      • 2013-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-29
      相关资源
      最近更新 更多