Flutter实现滑动页面停留吸附

如图,实现这种,

  • 滑动吸附效果的应用场景(如电商分类导航、Tab栏联动)
Dart 复制代码
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    return const MaterialApp(
      home: MapWithListPage(),
    );
  }
}

class MapWithListPage extends StatelessWidget {
  const MapWithListPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        children: [
          // 底层地图
          Container(
            color: Colors.blue[200], // 占位,可以替换成地图
            child: const Center(child: Text("地图在这里")),
          ),

          // 上层可拖动的列表
          DraggableScrollableSheet(
            initialChildSize: 0.3, // 初始高度 = 30%
            minChildSize: 0.3,     // 最小高度 = 30%
            maxChildSize: 0.9,     // 最大高度 = 100%
            snap: true,            // 开启吸附
            snapSizes: const [0.3, 0.6, 0.9], // 三个停靠点
            builder: (context, scrollController) {
              return Container(
                decoration: const BoxDecoration(
                  color: Colors.white,
                  borderRadius: BorderRadius.vertical(top: Radius.circular(16)),
                  boxShadow: [BoxShadow(blurRadius: 10, color: Colors.black26)],
                ),
                child: ListView.builder(
                  controller: scrollController,
                  itemCount: 30,
                  itemBuilder: (context, index) {
                    return ListTile(title: Text("列表项 $index"));
                  },
                ),
              );
            },
          ),
        ],
      ),
    );
  }
}
相关推荐
gustt15 小时前
用小程序搭建博客首页:从数据驱动到界面展示
android·前端·微信小程序
安卓开发者15 小时前
第12讲:入门级状态管理方案 - Provider详解
flutter
未来猫咪花15 小时前
为什么 Flutter 不需要 Hooks
flutter
南蓝15 小时前
【javascript】什么是HMAC-SHA256 签名
前端
有点笨的蛋15 小时前
深入前端工程的细枝末节:那些被忽略却决定页面体验的 CSS 关键细节
前端·css
Holin_浩霖15 小时前
mini-react 动态渲染复杂的DOM结构
前端
一点七加一15 小时前
Harmony鸿蒙开发0基础入门到精通Day11--TypeScript篇
前端·javascript·typescript
超绝大帅哥15 小时前
你不知道的javascript学习心得
前端
小皮虾15 小时前
告别胶水代码!一行命令,让你的小程序云函数实现API路由自动化
前端·rpc·小程序·云开发
BLOOM15 小时前
一款注解驱动的axios工具
javascript·typescript