小编Flo*_*ish的帖子

缩小 SliverAppBar 图像动画,如 Flutter 中的标题文本

我正在尝试复制带有图像的 SliverAppBar 自然附带的文本收缩效果,以便 sliverhead 的背景图像收缩为 sliverAppBar 的应用栏中的前导图标。

我尝试使用 AnimatedPostioned flutter 小部件以及滚动控制器,该控制器isSkrink在页面滚动时切换布尔值的状态。

下面是 AnimatedPosition 小部件:

AnimatedPositioned(
  width: isShrink ? 10.0 : 200.0,
  height: isShrink ? 10.0 : 200.0,
  duration: Duration(seconds: 2),
  curve: Curves.linear,
  child: Stack(
    children: [
      Container(
        child: Image.asset(
            'assets/images/user-avatar.png'),
      ),
    ],
  ),
),
Run Code Online (Sandbox Code Playgroud)

下面是 SliverAppBar,其中 AnimatedPositioned 位于堆栈中,用户图标位于 SliverAppBar 的前导参数中

SliverAppBar(
  leading: isShrink
      ? Padding(
          padding: EdgeInsets.all(10),
          child: CircleAvatar(
            backgroundImage:
                AssetImage('assets/images/user-avatar.png'),
            backgroundColor: Colors.white,
            radius: 3,
          ),
        )
      : Container(),
  floating: true,
  pinned: true,
  flexibleSpace: FlexibleSpaceBar(
    title: Row(
      children: …
Run Code Online (Sandbox Code Playgroud)

animation dart flutter flutter-sliver sliverappbar

2
推荐指数
1
解决办法
3359
查看次数

标签 统计

animation ×1

dart ×1

flutter ×1

flutter-sliver ×1

sliverappbar ×1