Поведение прокрутки нижнего листа запускается вместо поведения прокрутки столбца.

У меня есть BottomSheetDialogFragment. В OnCreateView я возвращаю ComposeView. Внутри ComposeView у меня есть столбец с вертикальной прокруткой, поскольку в столбце довольно много элементов.

Когда я провожу пальцем вверх по нижнему листу, нижний лист заполняет экран, и весь столбец прокручивается вверх, что является ожидаемым поведением вложенной прокрутки. Но когда я провожу пальцем вниз или прокручиваю вниз, вместо поведения прокрутки столбца запускается поведение прокрутки нижнего листа.

Ожидаемое поведение заключается в том, что прокрутка столбца должна завершиться, т. е. он должен прокручиваться вниз до тех пор, пока не станет видимым первый элемент столбца, а когда столбец больше не может прокручиваться вниз, должно сработать поведение прокрутки нижнего листа.

Есть ли способ исправить это несоответствие прокрутки?

      @AndroidEntryPoint
class DemoBottomSheetDialogFragment : BottomSheetDialogFragment() {

 override fun onCreateView(
    inflater: LayoutInflater,
    container: ViewGroup?,
    savedInstanceState: Bundle?
 ): View {
    
    return ComposeView(requireContext()).apply {

        setContent {

            val scrollState = rememberScrollState()
            val connection = remember {
            object : NestedScrollConnection {

              }
            }

            Box(
                    Modifier
                    .fillMaxSize()
                    .nestedScroll(connection)
             ) {
                 Column(
                       Modifier
                        .verticalScroll(scrollState)
                        .nestedScroll(connection)
                  ) {
                     //Column content
                    }
                }
             }
          }
      }
  }

0 ответов