android - 当外部内容发生变化时,BottomSheet 会隐藏
问题描述
我有一个来自 MaterialComponents 的带有 BottomSheetBehaviour 的视图组(工作表内容是可点击的、可隐藏的)
父级中包含的布局(CoordnatorLayout)
<include
android:id="@+id/filters_sheet"
layout="@layout/station_filters"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
app:behavior_hideable="true"
app:behavior_peekHeight="48dp"
app:behavior_skipCollapsed="true"
app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior"/>
sheet 的内容有 2 个 switch 组件(用于过滤 sheet 后面的列表)
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/filter_sheet"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
android:layout_gravity="bottom"
android:background="@drawable/filters_sheet_background"
android:elevation="@dimen/small_space">
<Switch
android:id="@+id/station_filter_only_available"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/space"
android:padding="@dimen/space"
android:text="@string/station_filter_only_available" />
<Switch
android:id="@+id/station_filter_with_partners"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/space"
android:text="@string/station_filter_with_partners"/>
</androidx.constraintlayout.widget.ConstraintLayout>
现在每次我点击任何过滤器开关时,列表都会更新(通过触发实时数据的新值)但工作表会消失,但 BottomSheetBehaviour 的内部状态仍然是 STATE_EXPANDED。
这是库中的错误(com.google.android.material:material:1.0.0)还是我遗漏了什么?
谢谢
station_filter_only_available.setOnCheckedChangeListener { _, isChecked ->
if (parentViewModel.stationFilters.value != null) {
parentViewModel.stationFilters.value = parentViewModel.stationFilters.value!!.copy(onlyAvailable = isChecked)
}
}
解决方案
推荐阅读
- javascript - 将 React google 时间线图导出为 PDF
- database-design - 微服务架构和数据库设计
- python - 在 python 中处理来自 cx_oracle 的大数据的最有效方法
- python - python计数找到pyaudio
- sql - 根据依赖于另一列的计算对值进行分组
- python - 将txt文件传递到数组时数组不可用
- python - 使用 LaTex 进行文本渲染遇到了 Python 2.7 中基于 Cartopy 的经度、纬度的问题
- jsf - 如何使用 selectBooleanCheckbox 和 Delete 设置值?
- angular - PrimeNG 图表不显示
- javascript - 如何使 HTML 元素不可点击?