{"id":13551750,"url":"https://github.com/iamSahdeep/liquid_swipe_flutter","last_synced_at":"2025-04-03T02:31:37.623Z","repository":{"id":37276151,"uuid":"195563275","full_name":"iamSahdeep/liquid_swipe_flutter","owner":"iamSahdeep","description":"A flutter based liquid swipe","archived":false,"fork":false,"pushed_at":"2024-02-08T12:56:20.000Z","size":54642,"stargazers_count":1240,"open_issues_count":6,"forks_count":160,"subscribers_count":14,"default_branch":"master","last_synced_at":"2025-03-31T02:13:08.732Z","etag":null,"topics":["flutter","flutter-app","flutter-apps","flutter-material","flutter-package","flutter-plugin","flutter-ui","flutter-widget"],"latest_commit_sha":null,"homepage":null,"language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iamSahdeep.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":null,"patreon":"iamSahdeep","open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.paypal.me/sahdeep"]}},"created_at":"2019-07-06T16:57:57.000Z","updated_at":"2025-03-23T08:20:26.000Z","dependencies_parsed_at":"2024-06-18T17:08:34.773Z","dependency_job_id":"e3569da8-fc4f-4833-84d8-8082d71962b4","html_url":"https://github.com/iamSahdeep/liquid_swipe_flutter","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamSahdeep%2Fliquid_swipe_flutter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamSahdeep%2Fliquid_swipe_flutter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamSahdeep%2Fliquid_swipe_flutter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iamSahdeep%2Fliquid_swipe_flutter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iamSahdeep","download_url":"https://codeload.github.com/iamSahdeep/liquid_swipe_flutter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246925351,"owners_count":20855875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flutter","flutter-app","flutter-apps","flutter-material","flutter-package","flutter-plugin","flutter-ui","flutter-widget"],"created_at":"2024-08-01T12:01:53.145Z","updated_at":"2025-04-03T02:31:35.693Z","avatar_url":"https://github.com/iamSahdeep.png","language":"Dart","readme":"\u003ch1 align=\"center\" xmlns=\"http://www.w3.org/1999/html\"\u003e\n  \u003cbr\u003e\n   \u003cimg src=\"https://raw.githubusercontent.com/iamSahdeep/liquid_swipe_flutter/master/assets/page1.png\" alt=\"Liquid Swipe\" title=\"Logo\" /\u003e\n  \u003cbr\u003e\n\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e  \n  \u003ca href=\"https://github.com/iamSahdeep/liquid_swipe_flutter/releases\" \u003cimg height=\"20\" alt=\"GitHub All Releases\" src=\"https://img.shields.io/github/downloads/iamSahdeep/liquid_swipe_flutter/total.svg?style=for-the-badge\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.codacy.com/app/iamSahdeep/liquid_swipe_flutter?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=iamSahdeep/liquid_swipe_flutter\u0026amp;utm_campaign=Badge_Grade\"\u003e\u003cimg src=\"https://api.codacy.com/project/badge/Grade/ccdaffb33883461b8570cd80f5051631\"/\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://pub.dev/packages/liquid_swipe\"\u003e \u003cimg height=\"20\" alt=\"Pub\" src=\"https://img.shields.io/pub/v/liquid_swipe.svg?style=for-the-badge\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/iamSahdeep/liquid_swipe_flutter/blob/master/LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-APACHE2.0-blue.svg?longCache=true\u0026style=flat-square\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://flutter.dev\"\u003e\u003cimg src=\"https://img.shields.io/badge/Built%20for-Flutter-blue.svg?longCache=true\u0026style=flat-square\" \"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/Solido/awesome-flutter\"\u003e\n   \u003cimg alt=\"Awesome Flutter\" src=\"https://img.shields.io/badge/Awesome-Flutter-blue.svg?longCache=true\u0026style=flat-square\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/iamSahdeep/liquid_swipe_flutter\"\u003e\n  \u003cimg src=\"https://codecov.io/gh/iamSahdeep/liquid_swipe_flutter/branch/master/graph/badge.svg?token=lGlgjaHbqJ\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  This repository contains the \u003cstrong\u003eLiquid Swipe Flutter\u003c/strong\u003e source code.\n  Liquid swipe is the revealing clipper to bring off amazing liquid like swipe to stacked Container/Widgets and inspired by \u003ca href=\"https://github.com/Cuberto/liquid-swipe\"\u003e Cuberto's liquid swipe\u003c/a\u003e and \u003ca href=\"https://github.com/aagarwal1012/IntroViews-Flutter\"\u003eIntroViews\u003c/a\u003e.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/iamSahdeep/liquid_swipe_flutter/master/assets/example.gif\" width=\"310\" height=\"640\"\u003e\n\u003cimg src=\"https://raw.githubusercontent.com/iamSahdeep/liquid_swipe_flutter/master/assets/another.gif\" width=\"310\" height=\"640\"\u003e\n\u003c/p\u003e\n\n \n# Table of contents\n  * [Getting Started](#getting-started)\n  * [Usage](#usage)\n  * [Migration](#migration) \n  * [Sample APK](#sample-apk)\n  * [Documentation](#documentation)\n    * [LiquidSwipe](#liquidswipe)\n  \t* [LiquidController](#liquidcontroller)  \n  * [Credits](#credits )\n  * [Author \u0026 Support](#author--support)\n  * [Contributors](#contributors-)\n\n\n# Getting Started\n\n* Add this to your pubspec.yaml\n  ```\n  dependencies:\n  liquid_swipe: ^3.1.0\n  \n  ```\n* Get the package from Pub:\n\n  ```\n  flutter packages get\n  ```\n* Import it in your file\n\n  ```\n  import 'package:liquid_swipe/liquid_swipe.dart';\n  ```\n  \n# Usage\n\n - *`Liquid Swipe`* just requires the list of [`Widgets like Container`](https://api.flutter.dev/flutter/widgets/Container-class.html). Just to provide flexibity to the developer to design its own UI through it.\n ```dart\n final pages = [\n    Container(...),\n    Container(...),\n    Container(...),\n  ];\n ```\n \n * Now just pass these pages to LiquidSwipe widget.\n ```dart\n  @override\n  Widget build(BuildContext context) {\n    return new MaterialApp(\n      home: Builder(\n          builder: (context) =\u003e\n              LiquidSwipe(\n                  pages: pages\n              )),\n    );\n  }\n ```\n\n * Check out the complete [Example](https://github.com/iamSahdeep/liquid_swipe_flutter/tree/master/example)\n\n# Migration\n\nSome things to keep in mind while updating to v2.0.0 from any version.\n * v2.0.0 is migrated to null safety. See [migration](https://dart.dev/null-safety/migration-guide)\n * Attribute `enableSlideIcon` is removed from LiquidSwipe. You can simply pass `null` to `slideIconWidget` to enable and disable it.\n * Attribute `positionSlideIcon` is now ranged from 0.0 to 1.0.\n * 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.\n\nThat's it ;)\n\n# Sample APK\n\nPlease download apk from [Releases](https://github.com/iamSahdeep/liquid_swipe_flutter/releases) or [Assets](https://github.com/iamSahdeep/liquid_swipe_flutter/tree/master/assets) folder\n\n \n# Documentation  \n\n## LiquidSwipe\n\nPlease Refer to [API documentation](https://pub.dev/documentation/liquid_swipe/latest/liquid_swipe/LiquidSwipe-class.html) for more details. \n\n| Property | Type | Description | Default Value |\n|-|:-:|-|:-:|\n| pages | `List\u003cWidget\u003e` | Set Pages/Views/Containers. See complete example for usage. | @required value |\n| fullTransitionValue | `double` | Handle swipe sensitivity  through it. Lower the value faster the animation | 400.0 |\n| initialPage | `int` | Set initial page value, wrong position will throw exception. | 0 |\n| slideIconWidget | `Widget` | Icon/Widget you want to display for swipe indication. Remember the curve will be created according to it. | null |\n| positionSlideIcon | `double` | Icon position on vertical axis. Must satisfy this condition `0.0 \u003c= value \u003c= 1.0` | 0.8 |\n| enableLoop | `bool` | Whether you want to loop through all those `pages`.  | true |\n| liquidController | `LiquidController` | Controller to handle some runtime changes. [Refer](#liquidcontroller) | null |\n| waveType | `WaveType enum` | Type of clipper you want to use. | WaveType.liquidReveal |\n| onPageChangeCallback | `Callback` | Triggered whenever page changes. | null |\n| currentUpdateTypeCallback | `Callback` | Triggered whenever UpdateType changes. [Refer](https://pub.dev/documentation/liquid_swipe/latest/Helpers_Helpers/UpdateType-class.html) | null |\n| slidePercentCallback | `Callback` | Triggered on Swipe animation. Use carefully as its quite frequent on swipe. | null |\n| ignoreUserGestureWhileAnimating | `bool` | If you want to block gestures while swipe is still animating. See #5 | false |\n| disableUserGesture | `bool` | Disable user gesture, always. | false |\n| enableSideReveal | `bool` | Enable/Disable side reveal | false |\n| preferDragFromRevealedArea | `bool` |  Disabling the drag from the whole page and allowing only from the revealed part of the screen and the icon | false |\n\n## LiquidController\n\nA Controller class with some utility fields and methods.\n\nSimple Usage :\n\nFirstly make an Object of LiquidController and initialize it in initState()\n```dart\n   LiquidController liquidController;\n\n   @override\n   void initState() {\n   super.initState();\n   liquidController = LiquidController();\n   }\n```\n\nNow simply add it to LiquidSwipe's Constructor\n```dart\n   LiquidSwipe(\n        pages: pages,\n        LiquidController: liquidController,\n    ),\n```\n\nOnly Rules/Limitation to its Usage is, 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\n\n- Properties\n  - `currentPage` - Getter to get current Page. Default value is 0.\n  - `isUserGestureDisabled` - If somehow you want to check if gestures are disabled or not. Default value is false;\n- Methods\n  - `animateToPage({required int page, int duration = 600})` \n     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.\n  - `jumpToPage({required int page})` \n    Jump Directly to mentioned Page index but without Animation.\n  -  `shouldDisableGestures({required bool disable})`\n      Use this method to disable gestures during runtime, like on certain pages using OnPageChangeCallback.\n\nPlease Refer to [API documentation](https://pub.dev/documentation/liquid_swipe/latest/PageHelpers_LiquidController/LiquidController-class.html) for more details. \n\n\n# Credits\n   - [Cuberto](https://github.com/Cuberto) for awesome implemented [Liquid Swipe](https://github.com/Cuberto/liquid-swipe) in Swift.\n   - [@aagarwal1012](https://github.com/aagarwal1012) for [IntroViews](https://github.com/aagarwal1012/IntroViews-Flutter), it made my work too easy.\n\n### Disclaimer : This project is not anyhow connected to Cuberto, but have apprised them through this [issue](https://github.com/Cuberto/liquid-swipe/issues/10).  \n \n# Author \u0026 support\nThis project is created by [Sahdeep Singh](https://github.com/iamSahdeep) but with lots of support and help. See credits.\n\u003e If you appreciate my work you can connect/endorse me on [LinkedIn](https://www.linkedin.com/in/iamsahdeep/) to keep me motivated.\n\n\n\u003cimg src=\"https://cdn-images-1.medium.com/max/1200/1*2yFbiGdcACiuLGo4dMKmJw.jpeg\" width=\"90\" height=\"35\"\u003e\n\n# Contributors ✨\n\nThanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):\n\n\u003c!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --\u003e\n\u003c!-- prettier-ignore-start --\u003e\n\u003c!-- markdownlint-disable --\u003e\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://sahdeepsingh.com\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/26563213?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eSahdeep Singh\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/iamSahdeep/liquid_swipe_flutter/commits?author=iamSahdeep\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/YasserOJ\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/26030291?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eYasser Omar Jammeli\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/iamSahdeep/liquid_swipe_flutter/commits?author=YasserOJ\" title=\"Code\"\u003e💻\u003c/a\u003e \u003ca href=\"https://github.com/iamSahdeep/liquid_swipe_flutter/issues?q=author%3AYasserOJ\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/mourad-brahim\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/17046133?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eMourad Brahim\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/iamSahdeep/liquid_swipe_flutter/commits?author=mourad-brahim\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/heshesh2010\"\u003e\u003cimg src=\"https://avatars1.githubusercontent.com/u/16393042?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eheshesh2010\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/iamSahdeep/liquid_swipe_flutter/issues?q=author%3Aheshesh2010\" title=\"Bug reports\"\u003e🐛\u003c/a\u003e \u003ca href=\"#userTesting-heshesh2010\" title=\"User Testing\"\u003e📓\u003c/a\u003e\u003c/td\u003e\n    \u003ctd align=\"center\"\u003e\u003ca href=\"https://github.com/ssoldy\"\u003e\u003cimg src=\"https://avatars2.githubusercontent.com/u/45917574?v=4\" width=\"100px;\" alt=\"\"/\u003e\u003cbr /\u003e\u003csub\u003e\u003cb\u003eFederico Tarascio\u003c/b\u003e\u003c/sub\u003e\u003c/a\u003e\u003cbr /\u003e\u003ca href=\"https://github.com/iamSahdeep/liquid_swipe_flutter/commits?author=ssoldy\" title=\"Code\"\u003e💻\u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n\u003c!-- markdownlint-enable --\u003e\n\u003c!-- prettier-ignore-end --\u003e\n\u003c!-- ALL-CONTRIBUTORS-LIST:END --\u003e\n\nThis project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!\n","funding_links":["https://patreon.com/iamSahdeep","https://www.paypal.me/sahdeep"],"categories":["组件","Dart","UI [🔝](#readme)","Libraries","Components"],"sub_categories":["UI"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FiamSahdeep%2Fliquid_swipe_flutter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FiamSahdeep%2Fliquid_swipe_flutter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FiamSahdeep%2Fliquid_swipe_flutter/lists"}