Java 底部板材在展开和隐藏之间停止 我试图创建一个完全扩展或完全看不见的底片——我不希望它在中间或窥视的任何地方。
以下是xml:Java 底部板材在展开和隐藏之间停止 我试图创建一个完全扩展或完全看不见的底片——我不希望它在中间或窥视的任何地方。,java,android,bottom-sheet,Java,Android,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"
<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>
在我的布局中有一个按钮,单击时会调用showHideBottomSheet
当我点击按钮时,一切正常,底部显示/隐藏。但是如果它被展开,我在代码的其他地方点击底部表单外的文本视图,例如,底部表单会向下移动一点,但不会完全移动-它的上半部分是可见的,但是如果我记录它的状态,它的状态是展开的
隐藏状态和崩溃状态有什么区别?我到处寻找视觉解释,但找不到。这个“中间”状态是崩溃状态吗?即使我在xml中设置了peekHeight=0,并且skipCollapsed=true?
xml中的peekHeight和skipCollapsed实际上是做什么的?
如何使其始终完全可见或完全隐藏,并避免这种“中间”状态?
编辑:底部工作表中有一个文本视图,并在其上单击Listener。当我单击它时,底部工作表也会进入“中间”状态,即使OnclickListener不调用setState或与底部工作表相关的任何内容。将我的支持:设计库更新为25.3.1,并按预期开始工作。我想这也是您出现问题的原因,您有线性布局的高度和宽度android:layout\u width=250dp android:layout\u height=250dp
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);
}