小编smb*_*mbl的帖子

当屏幕在颤动中滚动时动画小部件位置(包括 GIF)

我正在尝试为两行小部件设置动画,以作为一个滚动折叠成 1 行这些小部件。我正在尝试在SliverAppBar.

为了澄清起见,我在此处包含了一个 GIF 以供参考。我希望您在应用栏中看到的行为,但不是 1 行到 2,我希望 2 行变为 1。

gif

这是我迄今为止所拥有的快速片段。我将Row包含 3shrinkableBox个小部件的2个小部件包装到一个Wrap小部件中。我通过挂钩_scrollController.offset并进行一些计算来动态调整这些框的大小。这些行确实会动态移动,但它们不会动画化,而是突然移动。

  double kExpandedHeight = 300.0;

  Widget build(BuildContext context) {
    double size = !_scrollController.hasClients || _scrollController.offset == 0 ? 75.0 : 75 - math.min(45.0, (45 / kExpandedHeight * math.min(_scrollController.offset, kExpandedHeight) * 1.5));
    return Scaffold(
      body: CustomScrollView(
          controller: _scrollController,
          slivers: <Widget>[           
            SliverAppBar(
              pinned: true,
              expandedHeight: kExpandedHeight,

          title: new Text(
            "Title!",
          ),
          bottom: PreferredSize(child: Wrap(
            children: <Widget>[
              Row(
                mainAxisAlignment: MainAxisAlignment.center, …
Run Code Online (Sandbox Code Playgroud)

user-interface animation flutter

4
推荐指数
1
解决办法
6944
查看次数

标签 统计

animation ×1

flutter ×1

user-interface ×1