我有一个 Bottom Sheet ,其高度和宽度设置为match_parent
。因此,当单击按钮时,我将行为设置为STATE_EXPANDED
,如下所示:
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
我的 Bottom Sheet 定义如下:
<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
? 最佳答案
Kinda很晚,但是我在寻找类似东西时偶然发现了这一点。
这是跳过跳过状态的方法:
在XML中,通过将app:behavior_skipCollapsed="true"
添加到BottomSheet View 中。
或
用setSkipCollapsed(boolean)编程。