我面临着床单行为的问题。床单在开始时没有膨胀到最大高度。但是,它可以滚动到最大高度。但我不想滚动,而是想让底部扩大到它的最大高度。
我试着用

final float scale = getContext().getResources().getDisplayMetrics().density;
        int pixels = (int) (BOTTOM_HEIGHT_DP * scale + 0.5f);
        bottomSheet.getLayoutParams().height = pixels;

我也试过设置
((BottomSheetBehavior) behavior.setPeekheight(pixels);

我也试着处理底层行为回调
  @Override
                public void onStateChanged(@NonNull View bottomSheet, int newState) {
                    if (newState == BottomSheetBehavior.STATE_HIDDEN) {
                        newState=BottomSheetBehavior.STATE_EXPANDED;
                    }

                }

调查结果。。。。
状态展开:底部板材的完全展开状态,其中整个底部板材可见(如果其高度小于包含的坐标布局)或整个坐标布局已填充。
我想这可能是原因(整个协调人的布局都是满的)。但我不知道是否填写了坐标布局。
我没有在布局中定义坐标布局。

最佳答案

试试这个

   if (behavior.getState()== BottomSheetBehavior.STATE_HIDDEN) {
       behavior.setState(BottomSheetBehavior.STATE_EXPANDED);
       }

07-26 09:31