我的颤抖简单grep
,它的参数像DraggableScrollableSheet
,initialChieldSize
,minChildSize
,但它们在父母身高的作用上很有价值。
但是我有固定的高度元素,并希望将准确的高度值赋予maxChildSize
。
如何为initialChildSize
中的上述参数赋予确切的值?
答案 0 :(得分:2)
尝试获取MediaQuery的大小或任何其他自定义父窗口小部件的大小(使用布局生成器自定义大小)。然后,将DraggableScrollableSheet的初始和最小子大小设置为
这里是一个例子:
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构造函数的一个参数)。希望您会发现它有用!