showModalBottomSheet和边框半径

时间:2020-11-09 12:41:06

标签: flutter dart

我想用Flutter中的容器制作一个showModalBottomSheet。我希望此容器的顶部边界变圆,但是,当我尝试此操作时,拐角处有一些小的无色空间。如何删除它们?

这是我使用的代码:

class OverlayWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ElevatedButton(
      child: const Text('showModalBottomSheet'),
      onPressed: () {
        showModalBottomSheet(
          context: context,
          isScrollControlled: true,
          builder: (BuildContext context) {
            return Container(
              height: MediaQuery.of(context).size.height * 0.80,
              decoration: BoxDecoration(
                color: Colors.green,
                borderRadius: BorderRadius.only(
                  topLeft: Radius.circular(30.0),
                  topRight: Radius.circular(30.0),
                ),
              ),
              child: Center(...),
            );
          },
        );
      },
    );
  }
}

结果小部件如下: enter image description here

我要删除顶部边框中的空白。 预先谢谢你

2 个答案:

答案 0 :(得分:1)

ThemeData具有bottomSheetTheme参数,您可以按如下所示进行覆盖:

MaterialApp(
        ...
        theme: ThemeData(
          ...
          bottomSheetTheme:
              BottomSheetThemeData(backgroundColor: Colors.transparent),
        ),
        ...
      ),

这将为transparent赋予bottomSheet颜色

答案 1 :(得分:1)

审阅文档时,我意识到showModalBottomSheet函数具有名为“ backgroundColor”的属性?‍♀️

只需添加:

backgroundColor: Colors.transparent,

到showModalBottomSheet即可。 无论如何,谢谢您的帮助!

相关问题