自学Flutter,手写微信拍一拍功能项目实战,实战分析

本文介绍了在Flutter中实现微信拍一拍功能的详细步骤,包括处理连续拍一拍、断网情况下的显示逻辑以及自拍时的特殊显示。通过封装动画组件,利用TweenSequence创建头像抖动效果,实现与微信客户端类似的功能。
摘要由CSDN通过智能技术生成

处理方式【本段来自Android_ZzT】

咋们尽量处理的跟微信官方客户端一模一样

暴力连续 「啪一啪」

连续一直双击头像会发现,只有第一次会发送信息,剩下的双击只会触发客户端行为「头像抖动」,是做了防爆
处理的。大概过 10s 左右后恢复,可以再次触发

断网下「啪一啪」

断网情况下,双击头像,会发现,自己先能看到 「拍一拍」,然后过了一段时间后,会出现「因网络原因,对方可能不知道你拍了他」。这就证明是先走客户端的渲染逻辑,然后再发的网络请求,网络不好的情况下应该会经过重试过程,如果最终还是失败,则显示网络原因失败的字样

啪自己

双击自己头像,会显示「你拍了拍自己」,只是双击用户信息是自己的情况下这样显示,这没什么特别的,但是请求失败情况下的文案没太能对上,仍然显示的是「对方可能不知道你拍了他」,猜测这个文案是写在客户端的,可能要改的话又得更新版本喽

实现

其实主要用了一个动画,然后使用TweenSequence进行多组补间动画

TweenSequence([
//使用TweenSequence进行多组补间动画
TweenSequenceItem(tween: Tween(begin: 0, end: 10), weight: 1),
TweenSequenceItem(

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值