java - 如果我不设置 peekHeight,BottomSheetBehavior 不可拖动

标签 java android android-layout android-view bottom-sheet

在我的应用程序中,我有一个 Bottom Sheet 和一个使其折叠/展开的按钮。

如果未设置peekHeight,则 Bottom Sheet 不可拖动且不会折叠,它始终可见。

这是代码:

        View bottomSheet = findViewById(R.id.bottom_sheet1);
        mBottomSheetBehavior1 = BottomSheetBehavior.from(bottomSheet);

        mBottomSheetBehavior1.setPeekHeight(0); //IF I OMIT THIS, IT DOES NOT WORK

        mButton1 = (Button) findViewById(R.id.button_1);
        mButton1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if(mBottomSheetBehavior1.getState() != BottomSheetBehavior.STATE_EXPANDED) {
                    mBottomSheetBehavior1.setState(BottomSheetBehavior.STATE_EXPANDED);
                    mButton1.setText("Collapse 1");
                }
                else {
                    mBottomSheetBehavior1.setState(BottomSheetBehavior.STATE_COLLAPSED);
                    mButton1.setText("Expand 1");
                }
            }
        });

出了什么问题?

最佳答案

默认情况下,BottomSheetBehavior不是 hideable .

您必须明确告知您希望该行为可隐藏:


    bottomSheetBehavior = BottomSheetBehavior.from(bottomSheet);
    bottomSheetBehavior.setHideable(true);

关于java - 如果我不设置 peekHeight,BottomSheetBehavior 不可拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46809167/

相关文章:

java - -XX :NewRatio and -XX:OldSize JVM flags? 是什么意思

android - 如何在android中使用API​​将base64编码的图像保存到MYSQL数据库中

android - ActionBarSherlock 上 activatedBackgroundIndicator 的自定义背景不起作用

Android数据绑定(bind)构建错误: constant expression required

java - Android ListView 绑定(bind)到自定义类

java - 创建许多对象类型/类只是为了使用 instanceof

java - 我的代码有什么问题?遍历二维数组

java - GSON Joda 时间序列化器是否有标准实现?

由于 NullPointerException,无法实例化 android.app.Application

android - IllegalArgumentException : java. io.IOException : Cannot run program, 错误=13,权限被拒绝