All Projects → iamSahdeep → Liquid_swipe_flutter

iamSahdeep / Liquid_swipe_flutter

Licence: apache-2.0
A flutter based liquid swipe

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Liquid swipe flutter

Bottom navy bar
A beautiful and animated bottom navigation
Stars: ✭ 653 (-3.97%)
Mutual labels:  flutter-apps, flutter-plugin
A-Complete-Guide-To-Flutter
This repo contains all the small snippets related to Flutter Apps. Most of the projects/apps are deployed on Flutter Web using GitHub Actions CI Pipeline.
Stars: ✭ 70 (-89.71%)
Mutual labels:  flutter-plugin, flutter-apps
nepali date picker
Material Style Date Picker with Bikram Sambat(Nepali) Calendar Support. Supports both Android and ios.
Stars: ✭ 30 (-95.59%)
Mutual labels:  flutter-plugin, flutter-apps
Flutter Learning
🔥 👍 🌟 ⭐ ⭐⭐ Flutter all you want.Flutter install,flutter samples,Flutter projects,Flutter plugin,Flutter problems,Dart codes,etc.Flutter安装和配置,Flutter开发遇到的难题,Flutter示例代码和模板,Flutter项目实战,Dart语言学习示例代码。
Stars: ✭ 4,941 (+626.62%)
Mutual labels:  flutter-apps, flutter-plugin
Google nav bar
A modern google style nav bar for flutter.
Stars: ✭ 290 (-57.35%)
Mutual labels:  flutter-apps, flutter-plugin
swipedetector
A Flutter package to detect up, down, left, right swipes.
Stars: ✭ 34 (-95%)
Mutual labels:  flutter-plugin, flutter-apps
Flutter-Apps
🌀 This is mainly focus on a complete application for production
Stars: ✭ 18 (-97.35%)
Mutual labels:  flutter-plugin, flutter-apps
getwidget-docs
Get Widgets UI library docs.
Stars: ✭ 17 (-97.5%)
Mutual labels:  flutter-plugin, flutter-apps
Qrcode scanner
🛠 Flutter QR code scanner plugin.
Stars: ✭ 274 (-59.71%)
Mutual labels:  flutter-apps, flutter-plugin
Flutter i18n
This plugin create a binding between your translations from .arb files and your Flutter app.
Stars: ✭ 255 (-62.5%)
Mutual labels:  flutter-apps, flutter-plugin
liquid button
Liquify your buttons, web demo at website
Stars: ✭ 18 (-97.35%)
Mutual labels:  flutter-plugin, flutter-apps
Flutter effects
flutter animation effects | custom widget | custom renderobject
Stars: ✭ 421 (-38.09%)
Mutual labels:  flutter-apps, flutter-plugin
Motion-Tab-Bar
A beautiful animated flutter widget package library. The tab bar will attempt to use your current theme out of the box, however you may want to theme it.
Stars: ✭ 237 (-65.15%)
Mutual labels:  flutter-plugin, flutter-apps
Web Vuw
A Web View for flutter
Stars: ✭ 40 (-94.12%)
Mutual labels:  flutter-plugin, flutter-apps
flutter-app
Full Feature Todos Flutter Mobile app with fireStore integration.
Stars: ✭ 138 (-79.71%)
Mutual labels:  flutter-plugin, flutter-apps
flutter-tunein
Dynamically themed Music Player built with flutter
Stars: ✭ 108 (-84.12%)
Mutual labels:  flutter-plugin, flutter-apps
flutter bolg manage
Flutter实战项目,采用Getx框架管理,遵循Material design设计风格,适合您实战参考或练手
Stars: ✭ 373 (-45.15%)
Mutual labels:  flutter-plugin, flutter-apps
getx-snippets-intelliJ
An extension to accelerate the process of developing applications with flutter, aimed at everyone using the GetX package.
Stars: ✭ 52 (-92.35%)
Mutual labels:  flutter-plugin, flutter-apps
http middleware
A middleware library for Dart's http library.
Stars: ✭ 38 (-94.41%)
Mutual labels:  flutter-plugin, flutter-apps
Flutter page transition
This is Flutter Page Transition Package
Stars: ✭ 314 (-53.82%)
Mutual labels:  flutter-apps, flutter-plugin


Liquid Swipe

Pub Awesome Flutter

This repository contains the Liquid Swipe Flutter source code. Liquid swipe is the revealing clipper to bring off amazing liquid like swipe to stacked Container/Widgets and inspired by Cuberto's liquid swipe and IntroViews.

Table of contents

Getting Started

  • Add this to your pubspec.yaml

    dependencies:
    liquid_swipe: ^2.0.1
    
    
  • Get the package from Pub:

    flutter packages get
    
  • Import it in your file

    import 'package:liquid_swipe/liquid_swipe.dart';
    

Usage

  • Liquid Swipe just requires the list of Widgets like Container. Just to provide flexibity to the developer to design its own UI through it.
final pages = [
   Container(...),
   Container(...),
   Container(...),
 ];
  • Now just pass these pages to LiquidSwipe widget.
 @override
 Widget build(BuildContext context) {
   return new MaterialApp(
     home: Builder(
         builder: (context) =>
             LiquidSwipe(
                 pages: pages
             )),
   );
 }

Migration

Some things to keep in mind while updating to v2.0.0 from any version.

  • v2.0.0 is migrated to null safety. See migration
  • Attribute enableSlideIcon is removed from LiquidSwipe. You can simply pass null to slideIconWidget to enable and disable it.
  • Attribute positionSlideIcon is now ranged from 0.0 to 1.0.
  • Next Reveal is there by default. If you want to disable it you might want to make changes in your fork. Create an issue I will help.

That's it ;)

Sample APK

Please download apk from Releases or Assets folder

Documentation

LiquidSwipe

Please Refer to API documentation for more details.

Property Type Description Default Value
pages List<Widget> Set Pages/Views/Containers. See complete example for usage. @required value
fullTransitionValue double Handle swipe sensitivity through it. Lower the value faster the animation 400.0
initialPage int Set initial page value, wrong position will throw exception. 0
slideIconWidget Widget Icon/Widget you want to display for swipe indication. Remember the curve will be created according to it. null
positionSlideIcon double Icon position on vertical axis. Must satisfy this condition 0.0 <= value <= 1.0 0.8
enableLoop bool Whether you want to loop through all those pages. true
liquidController LiquidController Controller to handle some runtime changes. Refer null
waveType WaveType enum Type of clipper you want to use. WaveType.liquidReveal
onPageChangeCallback Callback Triggered whenever page changes. null
currentUpdateTypeCallback Callback Triggered whenever UpdateType changes. Refer null
slidePercentCallback Callback Triggered on Swipe animation. Use carefully as its quite frequent on swipe. null
ignoreUserGestureWhileAnimating bool If you want to block gestures while swipe is still animating. See #5 false
disableUserGesture bool Disable user gesture, always. false

LiquidController

A Controller class with some utility fields and methods.

Simple Usage :

Firstly make an Object of LiquidController and initialize it in initState()

   LiquidController liquidController;

   @override
   void initState() {
   super.initState();
   liquidController = LiquidController();
   }

Now simply add it to LiquidSwipe's Constructor

   LiquidSwipe(
        pages: pages,
        LiquidController: liquidController,
    ),

Only Rules/Limitation to its Usage is For now you can't use any method in Liquid Controller before build method is being called in which LiquidSwipe is initialized. So we have to use them after LiquidSwipe is Built

  • Properties
    • currentPage - Getter to get current Page. Default value is 0.
    • isUserGestureDisabled - If somehow you want to check if gestures are disabled or not. Default value is false;
  • Methods
    • animateToPage({required int page, int duration = 600}) Animate to mentioned page within given Duration Remember the duration here is the total duration in which it will animate though all pages not the single page.
    • jumpToPage({required int page}) Jump Directly to mentioned Page index but without Animation.
    • shouldDisableGestures({required bool disable}) Use this method to disable gestures during runtime, like on certain pages using OnPageChangeCallback.

Please Refer to API documentation for more details.

Credits

Author & support

This project is created by Sahdeep Singh but with lots of support and help. See credits.

If you appreciate my work, consider buying me a cup of ☕️ to keep me recharged 🤘

Or you can also connect/endorse me on LinkedIn to keep me motivated.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Sahdeep Singh

💻

Yasser Omar Jammeli

💻 🐛

Mourad Brahim

💻
📓
Federico Tarascio

💻

This project follows the all-contributors specification. Contributions of any kind 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].