搜索插件、代码仓与 APP 分类

side_sheet 封面
插件详情v1.0.4+1

side_sheet

适用于所有平台和响应式 UI 的侧边栏实现包。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
787
喜欢数
83
Pub 分数
150

安装插件

flutter pub add side_sheet

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

一个 Flutter 包,可在所有平台上实现侧边栏,包括 Android、iOS、Web、macOS、Windows 和 Linux。它支持响应式 UI 设计,确保在任何设备或屏幕尺寸下行为和外观一致。该包提供了一种灵活且可自定义的解决方案,用于以滑动面板格式展示补充内容,非常适合导航、筛选或详细视图。专为跨平台兼容性设计,简化了现代、可访问界面的创建。

适合场景

  • 响应式导航面板
  • 过滤器和设置叠加层
  • 详细信息显示
  • 类似模态的内容容器
  • 跨平台 UI 一致性

主要特点

  • 跨平台支持
  • 响应式布局适配
  • 可自定义的滑动动画
  • 内置可访问性
  • 与现有小部件的轻松集成

适合对象

  • 面向多平台的开发者
  • 需要动态侧边面板的应用程序
  • UI 密集型应用
  • 注重代码重用的团队
  • 需要响应式底部表单的项目

使用建议

  • 可能需要额外的样式来适应复杂布局
  • 边缘情况的自定义选项有限
  • 依赖于 Flutter 的手势处理
  • 未针对超大数据集进行优化
  • 最适合中等内容量

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

side_sheet

A flutter package for implementing of side sheets

A sample. font: https://material.io/components/sheets-side#usage

sample

Simple Usage:

ElevatedButton(
    onPressed: () =>
        SideSheet.right(
            body: Text("Body"),
                context: context
        ),
    child: Text('OPEN RIGHT SIDE SHEET')),


ElevatedButton(
    onPressed: () =>
        SideSheet.left(
            body: Text("Body"),
                context: context
        ),
    child: Text('OPEN LEFT SIDE SHEET')),

Custom Width Side Sheet:

ElevatedButton(
    onPressed: () =>
        SideSheet.right(
            context: context
            width: MediaQuery.of(context).size.width * 0.3,
            body: Text("Body"),
        ),
    child: Text('OPEN RIGHT SIDE SHEET WITH CUSTOM WIDTH')),


ElevatedButton(
    onPressed: () =>
        SideSheet.left(
            context: context
            width: MediaQuery.of(context).size.width * 0.3,
            body: Text("Body"),
        ),
    child: Text('OPEN LEFT SIDE SHEET WITH CUSTOM WIDTH')),

With return arguments

ElevatedButton(
    onPressed: () async {
      final data = await SideSheet.left(
            body: IconButton(icon: Icon(Icons.close),
                      onPressed: () => Navigator.pop(context, 'Data Returns Left')),
            context: context);

      print(data);
    },
    child: Text('OPEN LEFT SIDE SHEET WITH RETURN DATA')
),

ElevatedButton(
    onPressed: () async {
      final data = await SideSheet.right(
            body: IconButton(
                      icon: Icon(Icons.close),
                      onPressed: () => Navigator.pop(context, 'Data Returns Right')),
            context: context);

      print(data);
    },
    child: Text('OPEN RIGHT SIDE SHEET WITH RETURN DATA')
),    

Close sheet in body

Navigator.pop(context);

With arguments

Navigator.pop(context, 'data return');

Buy Me A Coffee

所属分类

源码仓库

使用此插件的项目

暂无相关数据。