admin管理员组

文章数量:1535782

2024年3月28日发(作者:)

flutter,SliverPersistentHeader实现Tab顶部吸附固定效果

直接上代码啦

import 'package:flutter/';

class StickyDemo extends StatefulWidget {

@override

_StickyDemoState createState() => _StickyDemoState();

}

class _StickyDemoState extends State

with SingleTickerProviderStateMixin {

TabController tabController;

@override

void initState() {

ate();

troller = TabController(length: 2, vsync: this);

}

@override

Widget build(BuildContext context) {

return Scaffold(

body: CustomScrollView(

slivers: [

SliverAppBar(

pinned: true,

elevation: 0,

expandedHeight: 250,

flexibleSpace: FlexibleSpaceBar(

title: Text('Sliver-sticky效果'),

background: k(

'/',

fit: ,

),

),

),

SliverPersistentHeader(

pinned: true,

delegate: StickyTabBarDelegate(

child: TabBar(

labelColor: ,

controller: troller,

tabs: [

Tab(text: 'Home'),

Tab(text: 'Profile'),

],

),

),

),

SliverFillRemaining(

child: TabBarView(

controller: troller,

children: [

Center(child: Text('Content of Home')),

Center(child: Text('Content of Profile')),

],

),

),

],

),

);

}

}

class StickyTabBarDelegate extends SliverPersistentHeaderDelegate {

final TabBar child;

StickyTabBarDelegate({@required });

@override

Widget build(BuildContext context, double shrinkOffset, bool overlapsContent) {

return ;

}

@override

double get maxExtent => ;

@override

double get minExtent => ;

本文标签: 吸附实现效果