【发布时间】:2022-11-17 10:23:41
【问题描述】:
我正在尝试实现与此类似的东西,我有背景、圆形头像和标题,当向上滚动时头像消失但标题仍然存在。 我能做的是应用背景图像,并保留条形标题,但我不知道如何在 FlexibleSpaceBar 之外设置标题,也不知道如何在背景上设置 CircleAvatar 50%。
SliverAppBar.large(
expandedHeight: 200.0,
floating: true,
pinned: true,
snap: true,
flexibleSpace: FlexibleSpaceBar(
title: _buildProfileName(user),
background: Stack(
children: [
Container(
decoration: const BoxDecoration(
image: DecorationImage(
colorFilter: ColorFilter.mode(
Colors.black54, BlendMode.darken),
image: AssetImage(
"assets/images/landing/hedge-trimmer.jpg"),
fit: BoxFit.cover,
),
),
),
Positioned(
top:
175.0, // (background container size) - (circle height / 2)
left: MediaQuery.of(context).size.width / 2 - 50,
child: Center(
child: CircleAvatar(
child: CircleAvatar(
backgroundImage: (user.profileImageUrl!.isEmpty
? const AssetImage('assets/images/Logo.png')
: CachedNetworkImageProvider(
user.profileImageUrl!))
as ImageProvider<Object>?,
radius: 45,
),
radius: 50,
backgroundColor: Colors.white,
),
),
),
],
),
),
),
这上面产生的东西接近我所追求的只是不完全
【问题讨论】:
标签: flutter flutter-sliver flutter-sliverappbar flutter-3.0