flutter:用连接两个scrollview的滑动

一,代码:

import 'package:flutter/material.dart';

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

  @override
  State<Scroll1Page> createState() => _Scroll1PageState();
}

class _Scroll1PageState extends State<Scroll1Page> {
  final List<String> _tabs = const ['tab1', 'tab2', "tab3", "tab4"];
  // SliverFixedExtentList 是一个 Sliver,它可以生成高度相同的列表项。
  // 如果列表项高度相同,我们应该优先使用SliverFixedExtentList
  // 和 SliverPrototypeExtentList,如果不同,使用 SliverList.
  var listView = SliverFixedExtentList(
    itemExtent: 56, //列表项高度固定
    delegate: SliverChildBuilderDelegate(
          (_, index) => ListTile(title: Text('$index')),
      childCount: 20,
    ),
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: CustomScrollView(
        slivers: [
          listView,
          //listView,
          SliverToBoxAdapter(
            child: Column(
                children: <Widget>[
                  Container(
                    color: Colors.orange,
                    height: 500,
                  ),
                  Container(
                    color: Colors.cyan,
                    height: 500,
                  ),
                  // 在这里可以添加其他内容组件
                ],
              ),
          ),
        ],
      ),
    );
  }
}

连接滚动的对象可以是sliver类型的所有组件

二,测试效果:

posted @ 2025-04-19 10:50  刘宏缔的架构森林  阅读(22)  评论(0)    收藏  举报