슬라이딩 가능 패널 위젯 안에 중첩 된 ScrollView


9

화면 하단에서 세로로 끌 수있는 패널 위젯이 있습니다. 해당 패널 위젯에는 ListView스크롤 가능한 것이 있습니다.

내가 달성하려고하는 것은 중첩 된 목록보기를 방해하지 않고 패널을 열고 닫을 수있는 드래그를 처리하는 것입니다. 패널이 열리면 목록보기가 스크롤 가능하게되고 목록보기가 맨 위에있는 동안 아래로 스크롤되면 패널이 대신 제스처를 처리하고 닫습니다.

이렇게 :

여기에 이미지 설명을 입력하십시오

패널 위치를 기준으로 ListView에서 스크롤 물리를 활성화 / 비활성화하려고 시도했지만 그렇게 할 수없는 것으로 나타났습니다.

어떤 아이디어? :)


내가 준 솔루션을 사용해 보셨습니까? 도움이 되길 바랍니다.
Pablo Barrera 2

@PabloBarrera 결국, DraggableScrollableSheet자신 의 행동을 기록 하지만, 나는 당신의 대답을 받아 들일 것입니다;)
Théo Champion

답변:


5

당신은 그것을 달성 할 수 있습니다 DraggableScrollableSheet.

사용 방법에 대한 간단한 예는 다음과 같습니다.

@override
Widget build(BuildContext context) {
  return Scaffold(
    body: Stack(
      children: <Widget>[
        Center(child: Text('Some content')),
        DraggableScrollableSheet(
          minChildSize: 0.2,
          initialChildSize: 0.2,
          builder: (context, scrollController) => Container(
            color: Colors.lightBlueAccent,
            child: ListView.builder(
              controller: scrollController,
              itemCount: 20,
              itemBuilder: (context, index) => SizedBox(
                height: 200,
                child: Text('Item $index'),
              ),
            ),
          ),
        ),
      ],
    ),
  );
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.