我如何从showModalBottomSheet后面go 掉这个平坦的边缘,这样我就可以拥有完全圆形和漂亮的边框了.

this is the image with the flat edges I'm talking about

窗口小部件:

class Profile extends StatefulWidget {
  const Profile({super.key});

  @override
  State<Profile> createState() => _ProfileState();
}

class _ProfileState extends State<Profile> {
  showBottomSheet(BuildContext context) {
    showModalBottomSheet(
      context: context,
      builder: (context) {
        return Container(
          decoration: BoxDecoration(
            color: Color.fromRGBO(0, 0, 0, 1),
            borderRadius: BorderRadius.only(
              topLeft: Radius.circular(30),
              topRight: Radius.circular(30),
            ),
          ),
          child: Column(
            mainAxisSize: MainAxisSize.min,
            crossAxisAlignment: CrossAxisAlignment.end,
            children: [
              Container(
                height: 36,
              ),
              ListTile(
                leading: Icon(Icons.settings),
                title: Text('Settings'),
              ),
              ListTile(
                leading: Icon(Icons.bookmark_border),
                title: Text('Saved'),
              )
            ],
          ),
        );
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    model.User? user = Provider.of<UserProvider>(context).getuser; // get the current SignedIn user
    return Scaffold(
      backgroundColor: Color.fromRGBO(0, 0, 0, 1),
      appBar: AppBar(
        title: Text('${user!.username}'),   // Display the username of user
        backgroundColor: Color.fromRGBO(0, 0, 0, 1),
        actions: [
          IconButton(
            onPressed: () => showBottomSheet(context),
            icon: Icon(Icons.menu),
          ),
        ],
      ),
    );
  }
}

我try 了所有可用的解决方案 但它们都没有奏效.我不能理解这件事.

推荐答案

问题是你的Container有圆角.

要解决这个问题,还可以在BottomSheet中添加圆角-与Container相同的圆角(30.0).您可以使用shape属性执行此操作:

showModalBottomSheet(
      shape: const RoundedRectangleBorder(
        borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)),
      ),

完整的可运行示例:

import 'package:flutter/material.dart';

const Color darkBlue = Color.fromARGB(255, 18, 32, 47);

void main() {
  runApp(MaterialApp(home: MyApp()));
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Scaffold(body: const Profile());
  }
}

class Profile extends StatefulWidget {
  const Profile({super.key});

  @override
  State<Profile> createState() => _ProfileState();
}

class _ProfileState extends State<Profile> {
  showBottomSheet(BuildContext context) {
    showModalBottomSheet(
      shape: const RoundedRectangleBorder(
        borderRadius: BorderRadius.vertical(top: Radius.circular(30.0)),
      ),
      context: context,
      builder: (context) {
        return Container(
          decoration: BoxDecoration(
            color: Color.fromRGBO(0, 0, 0, 1),
            borderRadius: BorderRadius.only(
              topLeft: Radius.circular(30),
              topRight: Radius.circular(30),
            ),
          ),
          child: Column(
            mainAxisSize: MainAxisSize.min,
            crossAxisAlignment: CrossAxisAlignment.end,
            children: [
              Container(
                height: 36,
              ),
              ListTile(
                leading: Icon(Icons.settings),
                title: Text('Settings'),
              ),
              ListTile(
                leading: Icon(Icons.bookmark_border),
                title: Text('Saved'),
              )
            ],
          ),
        );
      },
    );
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Color.fromRGBO(0, 0, 0, 1),
      appBar: AppBar(
        title: Text('test'), // Display the username of user
        backgroundColor: Color.fromRGBO(0, 0, 0, 1),
        actions: [
          IconButton(
            onPressed: () => showBottomSheet(context),
            icon: Icon(Icons.menu),
          ),
        ],
      ),
    );
  }
}

Flutter相关问答推荐

如何在Flutter的easy_translation包中链接嵌套的链接翻译?

SingleChildScrollView正在将Container的高度限制为子对象,尽管使用了Expanded Inside Row()

有没有什么方法可以加快在Flutter 中加载Quill HTML编辑器的速度?

如何删除使用isscllable时出现的左边距?

使小部件处于有状态状态会导致hasSize异常

有没有可能不在BlocBuilder中重新构建内容?

Flutter :执行com.android.build.gradle.internal.tasks.MergeNativeLibsTask$MergeNativeLibsTaskWorkAction时出现故障

如何在Flutter 安全存储器中存储对象值?

播放特定持续时间Flutter 的音频

Flutter - Riverpod 2.0 - 如何访问 onDispose 回调?

Flutter:我应该使用哪种应用内购买服务?

以编程方式在 flutter 中安装 apk 时解析错误

如何从列表中更新provider变量:Flutter列表和Provider优化指南

Flutter:如何在 bottomsheet 中创建一个日期 Select 器,如下图所示

Flutter 错误:OutletListModel类型的值不能分配给List类型的变量?

运行Flutter 测试时出现 FirebaseAppPlatform.verifyExtends 错误

http响应在Flutter 中返回307

Flutter 将方法应用于静态变量

在 Flutter Bloc 中具有称为 status 的属性的一种状态或不同的状态,哪个更可取?

Flutter 在滚动期间保持某些元素固定?