我想让文本的一部分可点击,以便我可以在其上调用函数。我也想控制可点击文本的样式。在最好的情况下,我还可以将可点击区域的大小增加到例如 42px。
我已经研究过 flutter_linkify 和 linkify,但这不是我想要的。我很好奇是否已经有一个包,甚至内置到 flutter 库中。
我想PageView使用 custom创建一个进度ScrollPhysics,以便用户只能滚动到已完成的选项卡。请参阅下图以供参考,右上角是进度(绿色=可访问,红色=不可访问页面):
![1]](https://i.stack.imgur.com/n88m9.png)
在屏幕截图中,我完成了第 1 页和第 2 页,但我不想让用户滑动到当前正在发生的第 3 页。scroll_physics.dart我阅读了iOS 和 Android 实现的示例。但我还是被困住了。
我在这里尝试过这个尝试过,但它有问题。您可以阻止用户向右移动,但如果最后一个可访问的页面不完全可见(如屏幕截图所示),则滚动已被阻止,您无法进一步向右滚动。
\n\n这是我现在的代码:
\n\n电话来自:
\n\nPageView(\n controller: PageController(\n initialPage: model.initallPage,\n ),\n children: pages,\n physics: model.currentPage >= model.lastAccessiblePage ? CustomScrollPhysics(CustomScrollStatus()..rightEnd = true) : ScrollPhysics(),\n onPageChanged: (value) {\n model.currentPage = value;\n },\n ),\nRun Code Online (Sandbox Code Playgroud)\n\n自定义滚动物理:
\n\nclass CustomScrollStatus {\n bool leftEnd = false;\n bool rightEnd = false;\n bool isGoingLeft = false;\n bool isGoingRight = false;\n}\n\nclass CustomScrollPhysics extends ScrollPhysics …Run Code Online (Sandbox Code Playgroud) 有没有办法得到 4 而不是 2 结果?
List<String> test = [
'first',
'second',
if (false) 'third',
if (false) 'fourth',
];
print('length: ' + test.length.toString());
Run Code Online (Sandbox Code Playgroud) 我正在开发 Flutter 应用程序,并且正在使用 Firebase 服务。我只想坚持使用事务,因为我更喜欢一致性而不是简单性。
await Firestore.instance.collection('user').document(id).updateData({'name': 'new name'});
await Firestore.instance.runTransaction((transaction) async {
transaction.update(Firestore.instance.collection('user').document(id), {'name': 'new name'});
});
Run Code Online (Sandbox Code Playgroud)
交易有任何(主要)缺点吗?例如,它们是否更贵(Firebase 计费,而不是计算)?毕竟 Firestore 数据库上的数据可能会发生更改,这将导致最多 5 次重试。
供参考:https : //firebase.google.com/docs/firestore/manage-data/transactions
“您还可以使用事务对数据进行原子更改。虽然这对于增加投票总数来说有点笨拙,但对于更复杂的更改来说这是正确的方法。”
https://codelabs.developers.google.com/codelabs/flutter-firebase/#10