All Projects → qq326646683 → interactiveviewer_gallery

qq326646683 / interactiveviewer_gallery

Licence: MIT license
Enhancements to interactiveviewer: picture and video preview, support two-finger gesture zoom, double-click to zoom, switch left and right。图片预览,视频预览,图片视频混合预览

Programming Languages

dart
5743 projects
ruby
36898 projects - #4 most used programming language
swift
15916 projects

Projects that are alternatives of or similar to interactiveviewer gallery

GIMLeT
GIMLeT – Gestural Interaction Machine Learning Toolkit
Stars: ✭ 33 (-26.67%)
Mutual labels:  gesture
simple gesture detector
Easy to use, reliable and lightweight gesture detector for Flutter apps, exposing simple API for basic gestures
Stars: ✭ 26 (-42.22%)
Mutual labels:  gesture
mapbox-gestures-android
The Mapbox Gestures for Android library makes it easy to detect and handle user gestures on an Android device.
Stars: ✭ 25 (-44.44%)
Mutual labels:  gesture
Intel-Realsense-Hand-Toolkit-Unity
Intel Realsense Toolkit for Hand tracking and Gestural Recognition on Unity3D
Stars: ✭ 72 (+60%)
Mutual labels:  gesture
HandTrackingGestureRecorder
Unity script to record any gesture with your own hands
Stars: ✭ 74 (+64.44%)
Mutual labels:  gesture
gesto
You can set up drag, pinch events in any browser.
Stars: ✭ 47 (+4.44%)
Mutual labels:  gesture
GestureControlledCamera2D
A Camera2D node controlled through gestures. It's also an example of how to use the Godot Touch Input Manager.
Stars: ✭ 39 (-13.33%)
Mutual labels:  gesture
GestureLockView
九宫格手势解锁控件
Stars: ✭ 39 (-13.33%)
Mutual labels:  gesture
liveGestureDemo
仿映客双屏直播,OpenCV 竖屏检测,人脸贴纸
Stars: ✭ 26 (-42.22%)
Mutual labels:  gesture
Gestures-Samples
Project Prague Code Samples
Stars: ✭ 98 (+117.78%)
Mutual labels:  gesture
fusuma-plugin-tap
Tap and Hold gestures plugin for Fusuma
Stars: ✭ 16 (-64.44%)
Mutual labels:  gesture
Sensitive
Special way to work with gestures in iOS
Stars: ✭ 549 (+1120%)
Mutual labels:  gesture
react-native-gesture-flip-card
A card flipping animation component using gesture for react-native.
Stars: ✭ 93 (+106.67%)
Mutual labels:  gesture
btt
Low level MacOS management in JavaScript via BetterTouchTool
Stars: ✭ 92 (+104.44%)
Mutual labels:  gesture
iMoney
iMoney 金融项目
Stars: ✭ 55 (+22.22%)
Mutual labels:  gesture
react-native-pinchable
Instagram like pinch to zoom for React Native
Stars: ✭ 187 (+315.56%)
Mutual labels:  gesture
gestures
A library for normalized events and gesture for desktop and mobile.
Stars: ✭ 31 (-31.11%)
Mutual labels:  gesture
vuletube
Starter project for vue in combination with typescript. Getting response for youtube search. Call server part for saving videos. Use videos in three.js 3d port view. Control vuletube site with hands (NUI) also with voice command.
Stars: ✭ 12 (-73.33%)
Mutual labels:  video-preview
myo-armband-nn
Gesture recognition using myo armband via neural network (tensorflow library).
Stars: ✭ 33 (-26.67%)
Mutual labels:  gesture
gestures-android
Gesture recognizers for Android
Stars: ✭ 18 (-60%)
Mutual labels:  gesture

interactiveviewer_gallery

pub package

中文文档

A flutter library to show picture and video preview gallery support

  1. two-finger gesture zoom
  2. double-click to zoom
  3. switch left and right
  4. gesture back: scale, transfer, opacity of background
  5. video auto paused when miss focus

Preview

video for youtube

video for qiniu

apk download

Setup

because the library is base on InteractiveViewer so require flutter verion above or equal 1.20.0

interactiveviewer_gallery: ${last_version}

How to use

  1. Wrap Hero in your image gridview item:
Hero(
    tag: source.url,
    child: ${gridview item}
)
  1. gridview item's GestureDetector add jumping to interactiveviewer_gallery:
// DemoSourceEntity is your data model
// itemBuilder is gallery page item
void _openGallery(DemoSourceEntity source) {
  Navigator.of(context).push(
    HeroDialogRoute<void>(
      // DisplayGesture is just debug, please remove it when use
      builder: (BuildContext context) => InteractiveviewerGallery<DemoSourceEntity>(
          sources: sourceList,
          initIndex: sourceList.indexOf(source),
          itemBuilder: itemBuilder,
          onPageChanged: (int pageIndex) {
            print("nell-pageIndex:$pageIndex");
          },
      ),
    ),
  );
}
  1. edit itemBuilder: you can reference the example/lib/main.dart then customize
Widget itemBuilder(BuildContext context, int index, bool isFocus) {
  DemoSourceEntity sourceEntity = sourceList[index];
  if (sourceEntity.type == 'video') {
    return DemoVideoItem(
      sourceEntity,
      isFocus: isFocus,
    );
  } else {
    return DemoImageItem(sourceEntity);
  }
}

Other

Comments and pr are welcome

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].