吸附式表格

一个提供高度可定制的表格小部件的包,该小部件可以吸附到不同的垂直位置。

仅使用占位符的示例 使用ListView的示例

您可以通过克隆以下仓库并在示例文件夹中运行应用程序来运行这些示例。

快速开始

首先,请按照安装说明进行操作。

您可以通过添加以下代码将吸附式表格添加到您的应用程序中

    import 'package:flutter/material.dart';
    import 'package:snapping_sheet/snapping_sheet.dart';

    class SnapSheetExample extends StatelessWidget {
        @override
        Widget build(BuildContext context) {
            return Scaffold(
            body: SnappingSheet(
                    sheetBelow: Container(
                        color: Colors.red
                    ),
                    grabbing: Container(
                        color: Colors.blue,
                    ),
                ),
            );
        }
    }

吸附位置

要更改表格的吸附位置,请更改snapPositions参数
它接收一个SnapPosition列表。

    SnappingSheet(
        snapPositions: [
            SnapPosition(
                positionPixel: 25.0, 
                snappingCurve: Curves.elasticOut, 
                snappingDuration: Duration(milliseconds: 750)
            ),
            SnapPosition(
                positionFactor: 0.5, 
                snappingCurve: Curves.ease, 
                snappingDuration: Duration(milliseconds: 500)
            ),
        ],
    )

其他选项

名称 描述
child 表格后面的小部件。
sheetBelow 位于底部到抓取小部件底部之间的剩余空间的小部件。
sheetAbove 位于顶部到抓取小部件顶部之间的剩余空间的小部件。
grabbing 固定在sheetBelow和sheetAbove之间的小部件。
grabbingHeight 抓取小部件的高度。
sheetBelowMargin sheetBelow小部件的边距。可以是负值。
sheetAboveMargin sheetAbove小部件的边距。可以是负值。
snapPositions 表格的各种吸附位置
initSnapPosition 初始吸附位置,不必存在于snapPositions列表中
snappingSheetController 控制表格并获取当前吸附位置
onMove 表格移动时的回调。
onSnapBegin 吸附开始时的回调,发生在用户停止拖动表格时。
onSnapEnd 吸附完成时的回调。

GitHub

https://github.com/AdamJonsson/snapping_sheet