效果
简介
仿抖音点赞手势,单击暂停,双击点赞,可连续点击添加多个爱心,特点如下
- 全部效果为代码绘制(爱心图标来自Material Icon的图标)
- 套上在目标Widget外即可使用
- 提供单击与点赞的回调
- 建议复制代码使用,动画可按需修改
- 没有flutter之外的依赖项,可复制使用(懒得发pub)
基本原理
一个罩在child上的stack层,双击后根据坐标添加目标爱心Widget,爱心Widget在出现时会播放动画,用坐标作为key,动画结束后移除已经消失的爱心。
全部代码
什么都不依赖,可以直接复制使用。
import 'dart:async';
import 'dart:math';
import 'package:flutter/material.dart';
/// 视频手势封装
/// 单击:暂停
/// 双击:点赞,双击后再次单击也是增加点赞爱心
class TikTokVideoGesture extends StatefulWidget {
const TikTokVideoGesture({
Key key,
@required this.child,
this.onAddFavorite,
t