我尝试有模态有间距的两侧相比,它占用了整个宽度,但我很难找到一个解决方案,这个包,因为它似乎没有一个宽度参数,我可以工作。
Current resultDesired result
请注意,在所需结果中,模态边和器件边之间存在间距。
下面是我为当前结果使用的代码:
Future<dynamic> preFocusModal(BuildContext context) {
return showMaterialModalBottomSheet(
context: context,
builder: (context) => Container(
height: 300,
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.secondary,
borderRadius: BorderRadius.all(Radius.circular(10))),
));
}
我试过调整子容器的宽度,但没有效果(我想可能是因为我可以设置高度)
我也试过用填充来 Package 模态,但是这需要另一个方法提取,因为模态的返回类型需要是将来的。这可能会起作用,但是我想看看是否有更好的解决方案。
谢谢大家!
- 解决方案:**
Future<dynamic> preFocusModal(BuildContext context) {
return showMaterialModalBottomSheet(
backgroundColor: Colors.transparent,
context: context,
builder: (context) => Padding(
padding: EdgeInsets.all(15),
child: Container(
height: 400,
decoration: BoxDecoration(
color: Theme.of(context).colorScheme.secondary,
borderRadius: BorderRadius.all(Radius.circular(30))),
),
));
}
1条答案
按热度按时间unftdfkk1#
在容器内部,添加另一个容器作为子容器,并添加一个边距,并设置
Colors.transparent
为外部容器的颜色,然后调整内部容器的属性,以达到所需的输出。