android BottomSheet 未扩展到最大高度
Posted
技术标签:
【中文标题】android BottomSheet 未扩展到最大高度【英文标题】:android BottomSheet not expand to maximum height 【发布时间】:2018-09-13 13:52:27 【问题描述】:我遇到了 BottomSheetBehaviour 的问题。BottomSheet 在开始时没有扩展到最大高度。但是,它可以滚动到最大高度。但我不想滚动,而是希望 BottomSheet 扩展到其最大高度。 我尝试使用
将 bottomSheet 的高度设置为整个屏幕final float scale = getContext().getResources().getDisplayMetrics().density;
int pixels = (int) (BOTTOM_HEIGHT_DP * scale + 0.5f);
bottomSheet.getLayoutParams().height = pixels;
我也试过设置
((BottomSheetBehavior) behavior.setPeekheight(pixels);
我也尝试通过 BottomSheetBehaviour 回调来处理
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState)
if (newState == BottomSheetBehavior.STATE_HIDDEN)
newState=BottomSheetBehavior.STATE_EXPANDED;
调查结果....
STATE_EXPANDED:底部工作表的完全展开状态,其中整个底部工作表可见(如果其高度小于包含的 CoordinatorLayout)或整个 CoordinatorLayout 已填充。 我想这可能是原因(整个 CoordinatorLayout 都被填满了)。但我无法确定 CoordinatorLayout 是否已填充。 我没有在布局中定义 CoordinatorLayout。
【问题讨论】:
我也认为这可能是因为布局问题。但它可以滚动到最大高度。就是想不通为什么不一口气展开。 你能发布你的 layout.xml 吗? 请显示底部工作表的 xml 布局 @manishKumarSingh 你找到解决方案了吗? 【参考方案1】:在 onCreate 方法中:
BottomSheetBehavior bottomSheetBehavior = BottomSheetBehavior.from(bottomsheetlayout); bottomSheetBehavior.setPeekHeight(像素);
【讨论】:
没用。我认为 setPeekHeight 是关于设置折叠底页的高度。developer.android.com/reference/android/support/design/widget/…以上是关于android BottomSheet 未扩展到最大高度的主要内容,如果未能解决你的问题,请参考以下文章
布局背景未根据 BottomSheet 布局中的可绘制背景进行裁剪
如何在 Android Kotlin 中创建 BottomSheet
Android BottomSheet 覆盖了锚定 ImageView 的一半