你好! 我的 bottomSheet 包括 RecyclerView(Compose LazyColumn)。所以当我想向上滚动时,我的底部工作表会尝试关闭,而不是滚动我的列表。我如何固定bottomSheetDialogFragment,如果我使用compose,我不能使用nestedScrollview 和recycler。这是我的示例代码
@ExperimentalFoundationApi
@Composable
fun TimePickerView(
hours: List<String>,
minutes: List<String>,
weekDays: List<String>?,
hoursListState: LazyListState = rememberLazyListState(),
minutesListState: LazyListState = rememberLazyListState(),
dayListState: LazyListState = rememberLazyListState(),
) {
LazyColumn(content = {
stickyHeader {
InteractButton(
hoursListState,
minutesListState,
dayListState
)
}
item {
TimePickerViewImpl(
hours = hours,
minutes = minutes,
weekDays = weekDays,
hoursListState,
minutesListState,
dayListState
)
}
})
}
以及我如何调用它
class TimePickerDialogFragment : BottomSheetDialogFragment() {
private lateinit var hours: List<String>
private lateinit var minutes: List<String>
private var weekDays: List<String>? = null
private lateinit var timePickerViewModel: TimePickerViewModel
@ExperimentalFoundationApi
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
timePickerViewModel = ViewModelProvider(this).get(TimePickerViewModel::class.java)
val typeSchedule = arguments?.get(MedicineTakenScreenActivity.EXTRA_SCHEDULE_TYPE)!!
hours = timePickerViewModel.hours
minutes = timePickerViewModel.minutes
if (typeSchedule == getString(R.string.weekly)) {
weekDays = timePickerViewModel.weekDays
}
return ComposeView(requireContext())
.apply {
this.setContent {
TimePickerView(
hours = hours,
minutes = minutes,
weekDays = weekDays,
)
}
}
}
companion object {
@JvmStatic
fun newInstance(bundle: Bundle?): TimePickerDialogFragment {
val fragment = TimePickerDialogFragment()
fragment.arguments = bundle
return fragment
}
}
}
我想通常在底页内滚动我的列表,而不关闭我的底页。