gpt4 book ai didi

android - 动态改变 BottomSheetBehavior 的高度

转载 作者:IT老高 更新时间:2023-10-28 21:38:00 27 4
gpt4 key购买 nike

我正在使用 Google 最近发布的 AppCompat v23.2 的 BottomSheetBehavior。我的底部表格的高度取决于底部表格内显示的内容(类似于 Google 在他们的 map 应用中所做的)。

它适用于最初加载的数据,但我的应用程序会更改运行时显示的内容,当这种情况发生时,底部工作表会保留在其旧高度,这会导致底部未使用空间或 View 被切掉。

有没有办法通知底部工作表布局重新计算用于展开状态的高度(当 ViewGroup 的高度设置为 MATCH_HEIGHT 时)或任何方式手动设置所需高度?


编辑:我还尝试在 ViewGroup 及其父级上手动调用 invalidate() 但没有任何成功。

最佳答案

我在 RelativeLayout 作为我的底部工作表时遇到了同样的问题。高度不会重新计算。我不得不通过重新计算的新值来设置高度并调用 BottomSheetBehavior.onLayoutChild

这是我的临时解决方案:

coordinatorLayout = (CoordinatorLayout)findViewById(R.id.coordinator_layout);
bottomSheet = findViewById(R.id.bottom_sheet);

int accountHeight = accountTextView.getHeight();
accountTextView.setVisibility(View.GONE);

bottomSheet.getLayoutParams().height = bottomSheet.getHeight() - accountHeight;
bottomSheet.requestLayout();
behavior.onLayoutChild(coordinatorLayout, bottomSheet, ViewCompat.LAYOUT_DIRECTION_LTR);

关于android - 动态改变 BottomSheetBehavior 的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35685681/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com