Flutter Widget 之DraggableScrollableSheet

670 阅读1分钟

假设你需要将widget移到视图并且需要那个widget在屏幕上显示滚动,有一个widget能实现这样的功能 DraggableScrollableSheet

ezgif.com-gif-maker.gif

首先,提供一个builder argument,builder应该返回一个可滚动的widget,例如SingleChildScrollView或ListView,将scrollController参数传到可滚动的wiget

DraggableScrollableSheet(
    builder: (context, scrollController) {
        //...
        return SingleChildScrollView(
            controller: scrollController,
            child: Image.asset('asset/dash.png'),
        );
    },
);

你也可以自定义widget占用的初始最小和最大尺寸

DraggableScrollableSheet(
    initialChildSize: 0.4,
    minChildSize: 0.2,
    maxChildSize: 0.6,
    builder: //...
);

如下图标注的部分可被定义为可用空间的一部分

image.png

如果想了解有关DraggableScrollableSheet的内容,或者关于Flutter的其他功能,请访问flutter.dev

原文翻译自视频:视频地址