小编jus*_*ser的帖子

将 SliverList 包装在容器中

小样

嗨,这是我试图通过 flutter list list-expanded实现的目标

当用户向下滑动列表时,标题保持固定,而图像滑开。我试图用一些条子来达到这种效果。

问题

就我而言,我不能使用这样的东西,因为我列出的内容包装在自定义容器中,如下所示:

  @override
  Widget build(BuildContext context) {
    return CustomScrollView(
      slivers: <Widget>[
        SliverAppBar(
          flexibleSpace: SvgPicture.asset('assets/icons/school_old.svg'),
          backgroundColor: Colors.black,
        ),
        SliverList(
        ....
        );
      ],
    );
  }
Run Code Online (Sandbox Code Playgroud)

怎样才能达到想要的效果呢?

我尝试使用 aSliverToBoxAdapter但这似乎不适用于我的情况

  body: CustomScrollView(
    slivers: <Widget>[
      SliverAppBar(
        backgroundColor: Colors.red,
        flexibleSpace: Center(
          child: Text('hello world'),
        ),
      ),
      SliverToBoxAdapter(
        child: RoundedContainer(
            color: Colors.grey[900],
            child: ListView.builder(
              itemCount: 20,
              itemBuilder: (BuildContext context, int index) {
                return Padding(
                  padding: const EdgeInsets.only(bottom: 8),
                  child: RoundedContainer(
                    color: Colors.white,
                  ),
                );
              },
            )),
      ),
    ], …
Run Code Online (Sandbox Code Playgroud)

flutter

5
推荐指数
1
解决办法
1786
查看次数

Flutter 使用 ScrollController 检测用户滚动

项目

你好,我试图用我的自定义控制器和监听器在 flutter 中构建一个简单的列表。这是代码

class Test2 extends StatefulWidget {
  @override
  _Test2State createState() => _Test2State();
}

class _Test2State extends State<Test2> {
  ScrollController scrollController = ScrollController();

  @override
  void initState() {
    scrollController.addListener((){
      print('controller called');
    });
    super.initState();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
        body: ListView.builder(
          controller: scrollController,
      itemCount: 8,
      itemBuilder: (context, index) {
        return Padding(
          padding: const EdgeInsets.all(8.0),
          child: Container(
            color: Colors.white,
            height: 50,
          ),
        );
      },
    ));
  }
}
Run Code Online (Sandbox Code Playgroud)

问题

我的代码按预期工作,但我试图检测用户的滑动,即使没有什么可滑动的。到目前为止,如果调用用户滑动滚动侦听器时列表溢出屏幕,但是当项目列表短于屏幕尺寸时,这种情况不会发生。我怎样才能强迫听众总是听?

flutter

5
推荐指数
1
解决办法
1万
查看次数

模仿 iOS 13 全屏对话框

我注意到在 iOS 13 中全屏对话框发生了变化,从底部动画引入了一个新的幻灯片。这是一个例子

在此处输入图片说明

是否可以用颤振来模仿这种行为?iOS 动画不是从底部简单的幻灯片,而是还涉及背景页面。

查看flutter文档,我找到了这个类,但是,没有任何示例,我无法理解如何使用它,或者它是否是我正在搜索的内容。

谢谢

flutter flutter-animation

5
推荐指数
1
解决办法
1752
查看次数

动画切换器和 Bloc Builder

我是颤振中块模式的新手。

我的一个状态类有一个小部件列表和一个索引作为字段。我的目标是使用此状态的小部件更新动画切换器的子级。

return AnimatedSwitcher(
  duration: Duration(milliseconds: 500),
  child: BlocBuilder<WelcomeBloc, WelcomeBlocState>(
    builder: (context, state) {

      if(state is MyState)
        return state.widgetList[state.index];

      else return Container();

    },
  ),
);
Run Code Online (Sandbox Code Playgroud)

我也试过相反的方法,在 bloc builder 中返回动画切换器,结果是一样的

当yield 被调用时,widget 被改变但没有任何动画。

我错过了什么?

flutter bloc

3
推荐指数
1
解决办法
1261
查看次数

将曲线应用到现有动画

项目

大家好,我正在学习如何AnimatedList在 Flutter 中使用。我可以使用以下命令向列表添加和删除元素SizeTransition

代码

Widget _buildItem(
    BuildContext context, int index, Animation<double> animation) {
  return SizeTransition(
    sizeFactor: animation,
    axis: Axis.vertical,
    child: Padding(
      padding: const EdgeInsets.all(8.0),
      child: Container(
        height: 50,
        color: Colors.orange,
        child: SizedBox(
          child: Center(
            child: Text(displayList[index].toString()),
          ),
        ),
      ),
    ),
  );
}
Run Code Online (Sandbox Code Playgroud)

现在,我无法理解如何向此过渡添加自定义曲线。这可能吗?

dart flutter

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

Alignment with Stack in flutter

Project

Hi, I was trying to align some widgets inside a Stack in Flutter. My end result was something like: 在此处输入图片说明

I know that this can be easily achieved with a Row but I want to animate the position ot the two children so I'm forced to use stack.

My problem is simple:

Example code

return Container(
  child: Stack(
    children: <Widget>[
      Align(
        alignment: Alignment.centerLeft,
        child: _buildSign(),
      ),
      Align(
        alignment: Alignment.centerRight,
        child: _buildSign(),
      ),
    ],
  ),
);
Run Code Online (Sandbox Code Playgroud)

这不会像我预期的那样呈现。无论我在alignment场上放什么:Alignment.centerRight并且 …

flutter flutter-layout

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

标签 统计

flutter ×6

bloc ×1

dart ×1

flutter-animation ×1

flutter-layout ×1