【问题标题】:How to give exact height value to DraggableScrollableSheet in flutter?如何在颤动中为 DraggableScrollableSheet 提供精确的高度值?
【发布时间】:2020-04-18 15:04:02
【问题描述】:

我有简单的DraggableScrollableSheet 在颤振中,它有像initialChieldSizeminChildSizemaxChildSize 这样的参数,但它们在父高度的函数中具有价值。

但我有固定高度元素,并希望将精确高度值赋予initialChildSize

如何为DraggableScrollableSheet中的上述参数赋值?

【问题讨论】:

    标签: flutter widget draggable


    【解决方案1】:

    尝试获取 MediaQuery 的大小或任何其他自定义父窗口小部件的大小(使用 Layout Builder 自定义大小)。然后给 DraggableScrollableSheet 初始和最小子尺寸 / size.height。这样,您将获得该特定高度的分数。它对我有用:)

    这是一个例子:

    return LayoutBuilder(
      builder: (context, safeAreaSize) {
        return Stack(
          children: [
            Placeholder(),
            Positioned.fill(
              child: DraggableScrollableSheet(
                initialChildSize: 40 / safeAreaSize.maxHeight,
                minChildSize: 40 / safeAreaSize.maxHeight,
                maxChildSize: 1.0,
                expand: false,
                builder: (context, scrollController) {
                  return SingleChildScrollView(
                    controller: scrollController,
                    child: Container(height: 40).backgroundColor(Colors.blue),
                  );
                },
              ),
            ),
          ],
        );
      },
    );
    

    如果您想查看它的实际效果,请访问: https://dartpad.dev/d89a5411bb9785edfb630f6082b71d00

    编辑:我在 pub.dev 上找到了一个名为“sliding_sheet”的包,它很整洁。它可以根据内容自动调整工作表的大小,并且可以捕捉屏幕上您想要的位置。我将与上述代码相同的值赋予第一个“捕捉”(它是 SlidiingSheet 构造函数的参数)。希望对您有用!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      相关资源
      最近更新 更多