更改Flutter抽屉角半径

bna*_*wal 0 flutter

我正在将Drawer与BottomAppBar一起使用。当我单击菜单图标时,它将显示抽屉。我想更改Flutter Drawer的左上角和右上角半径。可以自定义拐角半径吗?

Pri*_*ain 36

Flutter 中的 Drawer 已经有一个 shape 属性,可以用来改变抽屉的形状。下面是改变抽屉圆角半径的代码:

         Drawer(
            shape: const RoundedRectangleBorder(
              borderRadius: BorderRadius.only(
                  topRight: Radius.circular(20),
                  bottomRight: Radius.circular(20)),
            ),
            child: .....
          ),
Run Code Online (Sandbox Code Playgroud)

无需将抽屉包裹在任何小部件周围。


bna*_*wal 6

找到了解决办法。只需将 canvasColor: Colors.transparent 添加到 MaterialApp 主题,它就会起作用。


小智 6

这就是你应该的行为方式。

 drawer: ClipRRect(
      borderRadius: BorderRadius.only(
          topRight: Radius.circular(35), bottomRight: Radius.circular(35)),
      child: Drawer(...),),
Run Code Online (Sandbox Code Playgroud)

  • 要从示例中删除“BorderRadius”创建中的重复项,可以使用下一个构造函数“BorderRadius.horizo​​ntal(right: Radius.circular(35))”创建它。 (3认同)

And*_*sky 5

您可以尝试包裹DrawerClipRRect

ClipRRect(
  borderRadius: BorderRadius.vertical(top: Radius.circular(4.0)),
  child: Drawer(...),
)
Run Code Online (Sandbox Code Playgroud)