在过去的几天里,我一直在阅读 Flutter 框架文档,尤其是 sliver 部分,但我不太确定从哪里开始。 我正在尝试实现粘性标题和快照效果。 RenderSliverList 可能是一个好的开始吗?我需要重新布局东西吗?我需要做额外的绘图吗?如果有,在哪里?
任何关于从哪里开始的帮助都将是一个巨大的帮助,在此先感谢!
编辑:我想我现在理解了布局部分,但我就是找不到绘画应该发生的地方。
编辑 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 支持