=======================================================================
什么都不依赖,可以直接复制使用。
import ‘dart:async’;
import ‘dart:math’;
import ‘package:flutter/material.dart’;
/// 视频手势封装
/// 单击:暂停
/// 双击:点赞,双击后再次单击也是增加点赞爱心
class TikTokVideoGesture extends StatefulWidget {
const TikTokVideoGesture({
Key key,
@required this.child,
this.onAddFavorite,
this.onSingleTap,
}) : super(key: key);
final Function onAddFavorite;
final Function onSingleTap;
final Widget child;
@override
_TikTokVideoGestureState createState() => _TikTokVideoGestureState();
}
class _TikTokVideoGestureState extends State {
GlobalKey _key = GlobalKey();
// 内部转换坐标点
Offset _p(Offset p) {
RenderBox getBox = _key.currentContext.findRenderObject();
return getBox.globalToLocal§;
}
List icons = [];
bool canAddFavorite = false;
bool justAddFavorite = false;
Timer timer;
@override