gpt4 book ai didi

java - Bottom Sheet 在 EXPANDED 和 HIDDEN 之间停止

转载 作者:行者123 更新时间:2023-12-02 12:30:10 26 4
gpt4 key购买 nike

我正在尝试创建一个完全展开或完全看不见的 Bottom Sheet - 我不希望它位于中间或偷看的任何位置。

这是 xml:

<LinearLayout
android:id="@+id/bottom_sheet"
android:layout_width="250dp"
android:layout_height="250dp"
android:layout_gravity="center_horizontal"
android:background="@android:color/holo_blue_bright"
android:clipToPadding="true"
android:orientation="vertical"
android:elevation="10dp"
app:behavior_peekHeight="0dp"
app:behavior_hideable="true"
app:behavior_skipCollapsed="true"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior">

<TextView
android:id="@+id/delete_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:background="@color/cinza3"
android:text="clear/delete Q"/>
</LinearLayout>

在我的代码中,我有以下方法:

private void showHideBottomSheet() {
if (mBSBehavior.getState() != BottomSheetBehavior.STATE_EXPANDED) {
showBottomSheet();
} else {
hideBottomSheet();
}
}


private void showBottomSheet() {
mBSBehavior.setState(BottomSheetBehavior.STATE_EXPANDED);
}


private void hideBottomSheet() {
mBSBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
}

在我的布局中有一个按钮,单击时会调用 showHideBottomSheet()。

当我单击按钮时,一切正常,并且 Bottom Sheet 显示/隐藏。但是,如果它是 EXPANDED 并且我单击代码中其他位置( Bottom Sheet 之外)的 TextView ,例如, Bottom Sheet 向下移动一点,但不是完全 - 它的上半部分是可见的,但如果我记录它的状态,它就是 STATE_EXPANDED。

  1. STATE_HIDDEN 和 STATE_COLLAPSED 有什么区别?我到处寻找视觉解释,但找不到。这个“中间”状态是崩溃状态吗?即使我在 xml 中设置 peekHeight="0"并skipCollapsed="true"?
  2. xml 中的peekHeight 和skipCollapsed 实际上有什么作用?
  3. 如何使其始终完全可见或完全隐藏并避免这种“中间”状态?

编辑:BottomSheet 内有一个 TextView,其上有一个 OnClickListener。当我单击它时,BottomSheet 也会进入“中间”状态,即使 OnclickListener 不会调用 setState 或与 BottomSheet 相关的任何内容。

最佳答案

将我的支持:设计库更新到 25.3.1,它开始按预期工作。

关于java - Bottom Sheet 在 EXPANDED 和 HIDDEN 之间停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45306855/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com