dart - flutter 实现粘性标题和对齐项目效果

在过去的几天里,我一直在阅读 Flutter 框架文档,尤其是 sliver 部分,但我不太确定从哪里开始。 我正在尝试实现粘性标题和快照效果。 RenderSliv​​erList 可能是一个好的开始吗?我需要重新布局东西吗?我需要做额外的绘图吗?如果有,在哪里?

任何关于从哪里开始的帮助都将是一个巨大的帮助,在此先感谢!

编辑:我想我现在理解了布局部分,但我就是找不到绘画应该发生的地方。

编辑 2:为澄清起见,这是所需的“粘性标题效果”:

How can I make sticky headers in RecyclerView? (Without external lib)

这就是“啪”的效果:

https://rubensousa.github.io/2016/08/recyclerviewsnap

最佳答案

对于“粘头效果”,我自己也遇到过这个问题,所以我创建了这个包来管理带有条子的粘头:https://github.com/letsar/flutter_sticky_header

要使用它,您必须在 CustomScrollView 中的每个部分创建一个 SliverStickyHeader

一节可以这样写:

new SliverStickyHeader(
  header: new Container(
    height: 60.0,
    color: Colors.lightBlue,
    padding: EdgeInsets.symmetric(horizontal: 16.0),
    alignment: Alignment.centerLeft,
    child: new Text(
      'Header #0',
      style: const TextStyle(color: Colors.white),
    ),
  ),
  sliver: new SliverList(
    delegate: new SliverChildBuilderDelegate(
      (context, i) => new ListTile(
            leading: new CircleAvatar(
              child: new Text('0'),
            ),
            title: new Text('List tile #$i'),
          ),
      childCount: 4,
    ),
  ),
);

如果您愿意,上述演示的完整源代码在这里:https://github.com/letsar/flutter_sticky_header/blob/master/example/lib/main.dart

希望对你有帮助。

关于dart - flutter 实现粘性标题和对齐项目效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48606995/

相关文章:

android - 在 Flutter 项目的 android studio 上初始化 Gradle

google-cloud-firestore - 如何使用 Flutter 配置 Firebase

android - 如何在 Flutter 中禁用 FlatButton 的飞溅突出显示?

android - 在 Flutter 上捕获 Android 后退按钮事件

json - 在 Dart 中解析具有嵌套对象数组的 JSON?

dart - Flutter 从 Firebase 存储加载图像

swift - 如何在 Flutter 中启用对现有项目的 Swift 支持

flutter - Flutter 中的 MyApp 类错误未定义方法 'setState'

dart - 如何格式化内插字符串

dart - 使用 BLoC 处理导航的正确方法