Yin*_*udi 10 android android-support-library bottom-sheet
BottomSheetBehavior正常工作
compile 'com.android.support:design:24.1.1'
Run Code Online (Sandbox Code Playgroud)
但是当我将它更新到24.2.0时,它不起作用.这是一个错误吗?这是我的代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
>
<LinearLayout
android:id="@+id/llScroll"
android:layout_width="match_parent"
android:layout_height="200dp"
android:orientation="vertical"
android:background="@color/blue_1"
app:layout_behavior="android.support.design.widget.BottomSheetBehavior">
</LinearLayout>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
Fnd*_*oid 36
STATE_COLLAPSED:隐藏底部工作表的一部分
STATE_HIDDEN:隐藏完整的底页
在支持库24.2.0中,您必须设置峰值高度以指示折叠时底页显示的像素数.
因此,如果您希望将其折叠并隐藏,则可以在初始化BottomSheetBehavior后添加如下代码:
mBottomSheetBehavior.setPeekHeight(0);
Run Code Online (Sandbox Code Playgroud)
这意味着当底部页面折叠时,将显示其高度的0像素.
或者如果需要,你可以让它消失,使用这样的代码:
mBottomSheetBehavior.setHideable(true);
mBottomSheetBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
Run Code Online (Sandbox Code Playgroud)
更新于 2016 年 8 月 30 日
接受的答案STATE_HIDDEN解释了和之间的区别STATE_COLLAPSED以及如何在 中正确使用两者com.android.support:design:24.2.0。
截至2016年8月20日
尽管这似乎确实是一个错误com.android.support:design:24.2.0,但您可以使用以下方法暂时解决它BottomSheetBehavior.STATE_HIDDEN:
mBehavior.setHideable(true);
mBehavior.setState(BottomSheetBehavior.STATE_HIDDEN);
Run Code Online (Sandbox Code Playgroud)
这仍然会用动画关闭底部工作表。
我不确定STATE_COLLAPSED和之间的实际区别STATE_HIDDEN是什么,并且文档没什么帮助,但在它真正修复之前我认为STATE_HIDDEN还可以。