{"id":18339076,"url":"https://github.com/damadenacar/flutter.fadingpageview","last_synced_at":"2026-04-29T09:02:48.355Z","repository":{"id":65143067,"uuid":"583365518","full_name":"damadenacar/flutter.fadingpageview","owner":"damadenacar","description":"A widget, similar to PageView, that transitions between pages fading out the current page and fading in the new one","archived":false,"fork":false,"pushed_at":"2022-12-29T16:03:10.000Z","size":805,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-21T13:43:53.886Z","etag":null,"topics":["flutter","flutter-pageview","flutter-ui","flutter-widget","flutter-widgets"],"latest_commit_sha":null,"homepage":"","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/damadenacar.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-12-29T15:04:28.000Z","updated_at":"2024-03-02T19:44:14.000Z","dependencies_parsed_at":"2023-01-02T01:16:25.625Z","dependency_job_id":null,"html_url":"https://github.com/damadenacar/flutter.fadingpageview","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/damadenacar/flutter.fadingpageview","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damadenacar%2Fflutter.fadingpageview","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damadenacar%2Fflutter.fadingpageview/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damadenacar%2Fflutter.fadingpageview/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damadenacar%2Fflutter.fadingpageview/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/damadenacar","download_url":"https://codeload.github.com/damadenacar/flutter.fadingpageview/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damadenacar%2Fflutter.fadingpageview/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32418173,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-29T06:29:02.080Z","status":"ssl_error","status_checked_at":"2026-04-29T06:29:00.631Z","response_time":110,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-pageview","flutter-ui","flutter-widget","flutter-widgets"],"created_at":"2024-11-05T20:16:26.427Z","updated_at":"2026-04-29T09:02:48.327Z","avatar_url":"https://github.com/damadenacar.png","language":"Dart","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FadingPageView\n\nThis package provides a widget similar to PageView that makes the transition between pages by fading out the current one and fading in the next one.\n\n## Features\n\nThe animation shows an example of walking from one page to the next one.\n\n![Examples](https://github.com/damadenacar/flutter.fadingpageview/raw/main/img/demo.gif)\n\nSome features are:\n\n- control the page to show, go to next, go to previous, etc. from the parent widget (by using the `FadingPageViewController`).\n- enable an `onShown` callback, called whenever the current page has faded in completely.\n- control whether to disable or not the pointer while fading.\n- custom fade-in and fade-out duration.\n\n## Getting started\n\nTo start using this package, add it to your `pubspec.yaml` file:\n\n```yaml\ndependencies:\n    linear_timer:\n```\n\nThen get the dependencies (e.g. `flutter pub get`) and import them into your application:\n\n```dart\nimport 'package:fadingpageview/fadingpageview.dart';\n```\n\n## Usage\n\nIn the most simple case, use the widget in your application:\n\n```dart\nclass _FadingPageViewDemoState extends State\u003cFadingPageViewDemo\u003e {\n  FadingPageViewController pageController = FadingPageViewController();\n\n  @override\n  Widget build(BuildContext context) {\n    return Scaffold(\n        floatingActionButton: \n          FloatingActionButton(\n            onPressed: () {\n              pageController.next();\n            },\n            child: const Icon(Icons.navigate_next),\n          ),\n        body: FadingPageView(\n          controller: pageController,\n          disableWhileAnimating: true,\n          itemBuilder: (context, itemIndex) {\n            return Center(\n              child: Text(\"This is the content for page: $itemIndex\")\n            );\n          }\n        )\n    );\n  }\n}\n```\n\nHave in mind that the controller `FadingPageViewController` is mandatory because the only way to control when to change the page is by using this controller.\n\n## Additional information\n\n### FadingPageView\nThe constructor for the widget is the next:\n\n```dart\nFadingPageView(\n  {required this.itemBuilder,\n  required this.controller,\n  this.onShown,\n  this.fadeInDuration = const Duration(milliseconds: 300),\n  this.fadeOutDuration = const Duration(milliseconds: 300),\n  this.disableWhileAnimating = false,\n  super.key});\n```\n\nThe basic information is:\n\n- __itemBuilder__: is the generator for the content for each page. Is a function that is used to build the page Widget Function(BuildContext context, int itemIndex)\n- __controller__: is the controller of the pages being shown. It is mandatory to include this controller, because is the only mechanism to change from one page to another.\n- __fadeInDuration and fadeOutDuration__: are duration of the transitions.\n- __disableWhileAnimating__: if set to `true`, the content is disabled while it is being faded in or out.\n- __onShown__: is a callback, called whenever the page is visible after being faded in.\n\n### FadingPageViewController\n\nThis is the controller used to define the number of pages, the current page, etc.\n\nThe constructor is the next:\n\n`FadingPageViewController([int startingPage = 0, int? pageCount])`, and initializes the values for the `startingPage` that is shown in first place, and the `pageCount` that will be considered; if set to 0, it means _infinite_ pages.\n\nThen it exports the following attributes:\n\n- __currentPage__: used to __get__ the current page and to __go to a page__ (it means that the viewer will fade-out the current page and will fade-in the new one).\n- __isAnimating__: returns whether the page view is being faded in or out at this moment.\n- __pageCount__: used to __get__ the total number of pages considered, and to __set__ the number of possible pages.\n- __isAtEnd__: Gets whether it is at the end or not\n- __isAtBeginning__: Gets whether it is at the beginning or not.\n- __hasMorePages__: Gets whether there are more pages or not.\n\nIt also exports the next two methods:\n\n- __next()__: transitions to the next page (if there are more pages). If the controller is at the last page, it does nothing.\n- __previous()__: transitions to the previous page (if there are more pages). If the controller is at the first page, it does nothing.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamadenacar%2Fflutter.fadingpageview","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdamadenacar%2Fflutter.fadingpageview","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamadenacar%2Fflutter.fadingpageview/lists"}