4 метода добавления углового радиуса к ящику во Flutter

Метод 1: использование виджета ClipRRect

Drawer(
  child: ClipRRect(
    borderRadius: BorderRadius.only(
      topRight: Radius.circular(20.0),
      bottomRight: Radius.circular(20.0),
    ),
    child: Container(
      // Drawer content
    ),
  ),
)

Метод 2. Пользовательский виджет ящика

class RoundedDrawer extends StatelessWidget {
  final Widget child;
  final double cornerRadius;
  RoundedDrawer({required this.child, this.cornerRadius = 20.0});
  @override
  Widget build(BuildContext context) {
    return ClipRRect(
      borderRadius: BorderRadius.only(
        topRight: Radius.circular(cornerRadius),
        bottomRight: Radius.circular(cornerRadius),
      ),
      child: Drawer(
        child: child,
      ),
    );
  }
}
// Usage:
RoundedDrawer(
  child: Container(
    // Drawer content
  ),
)

Метод 3: украшение ящика

Drawer(
  decoration: BoxDecoration(
    borderRadius: BorderRadius.only(
      topRight: Radius.circular(20.0),
      bottomRight: Radius.circular(20.0),
    ),
  ),
  child: Container(
    // Drawer content
  ),
)

Метод 4: специальные каркасы для выдвижных ящиков

class RoundedDrawerScaffold extends StatelessWidget {
  final Widget drawer;
  final Widget body;
  final double cornerRadius;
  RoundedDrawerScaffold({required this.drawer, required this.body, this.cornerRadius = 20.0});
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Row(
        children: [
          ClipRRect(
            borderRadius: BorderRadius.only(
              topRight: Radius.circular(cornerRadius),
              bottomRight: Radius.circular(cornerRadius),
            ),
            child: drawer,
          ),
          Expanded(child: body),
        ],
      ),
    );
  }
}
// Usage:
RoundedDrawerScaffold(
  drawer: Drawer(
    child: Container(
      // Drawer content
    ),
  ),
  body: Container(
    // Body content
  ),
)

Это всего лишь несколько способов добиться эффекта закругленных углов ящика во Flutter. Вы можете выбрать тот, который соответствует вашему конкретному случаю использования.