user-interface - 如何在Flutter中修整此面板的边缘?

标签 user-interface flutter dart

我正在使用https://pub.dev/packages/flutter_sliding_up_panel依赖项,并且想要舍入下面面板的边缘。
这是我正在使用的代码

 SlidingUpPanelWidget(
      child: Column(
        children: <Widget>[
          ClipRRect(
            borderRadius: BorderRadius.only(
              topLeft: Radius.circular(35.0),
              topRight: Radius.circular(35.0),
            ),
            child: Container(
              color: Colors.red,
              alignment: Alignment.center,
              child: Row(
                children: <Widget>[
                  Icon(
                    Icons.menu,
                    size: 30,
                  ),
                  Padding(
                    padding: EdgeInsets.only(
                      left: 8.0,
                    ),
                  ),
                  Text(
                    'click or drag',
                  )
                ],
                mainAxisAlignment: MainAxisAlignment.center,
              ),
              height: 50.0,
            ),
          ),
          Divider(
            height: 0.5,
            color: Colors.grey,
          ),
          Flexible(
            child: Container(
              child: ListView.separated(
                controller: scrollController,
                physics: ClampingScrollPhysics(),
                itemBuilder: (context, index) {
                  return ListTile(
                    title: Text('list item $index'),
                  );
                },
                separatorBuilder: (context, index) {
                  return Divider(
                    height: 0.5,
                  );
                },
                shrinkWrap: true,
                itemCount: 20,
              ),
              color: Colors.white,
            ),
          ),
        ],
        mainAxisSize: MainAxisSize.min,
      ),
      controlHeight: 50.0,
      anchor: 0.4,
      panelController: panelController,
    ),
这是折叠面板当前的外观:
enter image description here
我希望整个面板与红色容器一样圆滑。

最佳答案

你做不到该库在您提供的小部件周围有一个硬编码的Material小部件。

您唯一可以做的就是复制整个库并对其进行修改。这是一个小型图书馆,只有一个文件需要复制。

在库的第192行,您具有以下代码:

child: Material(
                key: _childKey,
                color: Theme.of(context).backgroundColor,
                elevation: widget.elevation,
                child: SizedBox(
                  height: MediaQuery.of(context).size.height,
                  child: widget.child,
                ),
              ),

像这样修改它:
child: Material(
                key: _childKey,
                color: Colors.transparent,
                shadowColor: Colors.transparent,
                elevation: widget.elevation,
                child: SizedBox(
                  height: MediaQuery.of(context).size.height,
                  child: widget.child,
                ),
              ),

关于user-interface - 如何在Flutter中修整此面板的边缘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61210497/

相关文章:

dart - 是否将大型应用程序作为单个web_ui应用程序使用?

android - 如何使用 fragment 反向移植?

css - ASP :Panel re-positioning

ios - 如何禁用 UINavigationController Root View Controller 的自动旋转?

按下 Flutter 底部导航栏时会出现 Android 底部导航

dart - 如何递归调用方法而不传递传递的参数?

java - Java GUI 编辑器为快速开发和可维护性提供了什么(即 Eclipse/SWT 和 Netbeans/Matisse)?

flutter - 耀斑动画图标尺寸太小

testing - Flutter:如何加载文件进行测试

c++ - 是否有适用于 C 和 C++ 的 Dart 引擎?