CustomScrollView( slivers:

main,dert

CustomScrollView(
                slivers: [
                  SliverToBoxAdapter(child: Inputwidgets()),
                  SliverToBoxAdapter(child: SizedBox(height: 12.w)),
                  SliverToBoxAdapter(child: SwiperWidgets()),
                  SliverToBoxAdapter(child: GridnavWidgets()),
                  SliverToBoxAdapter(child: TimeActiveWidgets()),
                 TextWidgets(),

TextWidgets

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';

class _SimpleSliverDelegate1 extends SliverPersistentHeaderDelegate  {
  final double height;
  final Widget child;
  _SimpleSliverDelegate1({required this.height, required this.child});

  @override
  Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) {
    return SizedBox(
      height: height,
      child: child,
    );
  }
@override
  double get maxExtent => height;

  @override
  double get minExtent => height;

  @override
  bool shouldRebuild(covariant _SimpleSliverDelegate1 oldDelegate) {
    return oldDelegate.child != child || oldDelegate.height != height;
  }
  
}

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

  @override
  State<TextWidgets> createState() => _TextWidgetsState();
}

class _TextWidgetsState extends State<TextWidgets> {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: SliverPersistentHeader(
        pinned: true,
        delegate:_SimpleSliverDelegate1(
          height: 50.w,
          child: Container(
            width: double.infinity,
            decoration: BoxDecoration(
              color:Color.fromRGBO(0,0,0,1),

            ),
          )
        )
      ),
    );
  }
}

这样滑动后TextWidgets 就固定了

更多推荐