The best swiper for flutter , with multiple layouts, infinite loop. Compatible with Android & iOS.

Overview

Logo

Build Status Coverage Status PRs Welcome pub package best-flutter

中文说明

flutter_swiper

The best swiper for flutter , with multiple layouts, infinite loop. Compatible with Android & iOS.

New Features:Layout for pagination.

We are using this project flutter_page_indicator now .

New Features:PageTransformer

Finally, we have PageTransformer like android, just set a transformer to Swiper, it returns a widget that has been transformed. For now, only support for layout DEFAULT. Thanks to @FlutterRocks ,you've done great job 👏 .

We are using this project transformer_page_view now .

New Features:Layout

See More

Showcases

Horizontal

Vertical

Custom Pagination

Custom Pagination

Phone

Example

See More

Roadmap

see:ROADMAP.md

Changelogs

see:CHANGELOG.md

Getting Started

Installation

Add

flutter_swiper : ^lastest_version

to your pubspec.yaml ,and run

flutter packages get 

in your project's root directory.

Basic Usage

Create a new project with command

flutter create myapp

Edit lib/main.dart like this:


import 'package:flutter/material.dart';

import 'package:flutter_swiper/flutter_swiper.dart';

void main() => runApp(new MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      title: 'Flutter Demo',
      theme: new ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: new MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => new _MyHomePageState();
}

class _MyHomePageState extends State {

  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      appBar: new AppBar(
        title: new Text(widget.title),
      ),
    body:  new Swiper(
        itemBuilder: (BuildContext context,int index){
          return new Image.network("http://via.placeholder.com/350x150",fit: BoxFit.fill,);
        },
        itemCount: 3,
        pagination: new SwiperPagination(),
        control: new SwiperControl(),
      ),
    );
  }
}

Constructor

Basic

Parameter Default Description
scrollDirection Axis.horizontal If Axis.horizontal, the scroll view's children are arranged horizontally in a row instead of vertically in a column.
loop true Set to false to disable continuous loop mode.
index 0 Index number of initial slide.
autoplay false Set to true enable auto play mode.
onIndexChanged void onIndexChanged(int index) Called with the new index when the user swiped or autoplay
onTap void onTap(int index) Called when user tap ui.
duration 300.0 The milliscends of every transaction animation costs
pagination null set new SwiperPagination() to show default pagination
control null set new SwiperControl() to show default control buttons

Pagination

The pagination extends from SwiperPlugin,the SwiperPlugin provides extra ui for Swiper.Set new SwiperPagination() to show default pagination.

Parameter Default Description
alignment Alignment.bottomCenter Change this value if you what to put pagination in other place
margin const EdgeInsets.all(10.0) The distance between inner side of the parent container.
builder SwiperPagination.dots There are two default styles SwiperPagination.dots and SwiperPagination.fraction,both can be customized.

If you'd like to customize your own pagination, you can do like this:

new Swiper(
    ...,
    pagination:new SwiperCustomPagination(
        builder:(BuildContext context, SwiperPluginConfig config){
            return new YourOwnPaginatipon();
        }
    )
);

Control buttons

The control also extends from SwiperPlugin,set new SwiperControl() to show default control buttons.

Parameter Default Description
iconPrevious Icons.arrow_back_ios The icon data to display previous control button
iconNext Icons.arrow_forward_ios The icon data to display next.
color Theme.of(context).primaryColor Control button color
size 30.0 Control button size
padding const EdgeInsets.all(5.0) Control button padding

Controller

The Controller is used to control the index of the Swiper, start or stop autoplay.You can create a controller by new SwiperController() and save the instance by futher usage.

Method Description
void move(int index, {bool animation: true}) Move to the spicified index,with animation or not
void next({bool animation: true}) Move to next
void previous({bool animation: true}) Move to previous
void startAutoplay() Start autoplay
void stopAutoplay() Stop autoplay

Autoplay

Parameter Default Description
autoplayDelay 3000 Autoplay delay milliseconds.
autoplayDisableOnInteraction true If set true, autoplay is disabled when use swipes.

Build in layouts

new Swiper(
  itemBuilder: (BuildContext context, int index) {
    return new Image.network(
      "http://via.placeholder.com/288x188",
      fit: BoxFit.fill,
    );
  },
  itemCount: 10,
  viewportFraction: 0.8,
  scale: 0.9,
)

new Swiper(
  itemBuilder: (BuildContext context, int index) {
    return new Image.network(
      "http://via.placeholder.com/288x188",
      fit: BoxFit.fill,
    );
  },
  itemCount: 10,
  itemWidth: 300.0,
  layout: SwiperLayout.STACK,
)

new Swiper(
    itemBuilder: (BuildContext context, int index) {
      return new Image.network(
        "http://via.placeholder.com/288x188",
        fit: BoxFit.fill,
      );
    },
    itemCount: 10,
    itemWidth: 300.0,
    itemHeight: 400.0,
    layout: SwiperLayout.TINDER,
 )

Very easy to create you own custom animation:


 new Swiper(
  layout: SwiperLayout.CUSTOM,
  customLayoutOption: new CustomLayoutOption(
      startIndex: -1,
      stateCount: 3
  ).addRotate([
    -45.0/180,
    0.0,
    45.0/180
  ]).addTranslate([
    new Offset(-370.0, -40.0),
    new Offset(0.0, 0.0),
    new Offset(370.0, -40.0)
  ]),
  itemWidth: 300.0,
  itemHeight: 200.0,
  itemBuilder: (context, index) {
    return new Container(
      color: Colors.grey,
      child: new Center(
        child: new Text("$index"),
      ),
    );
  },
  itemCount: 10)

The CustomLayoutOption is designed to describe animations. It is very easy to specify every state of items in Swiper.

new CustomLayoutOption(
      startIndex: -1,  /// Which index is the first item of array below      
      stateCount: 3    /// array length 
  ).addRotate([        // rotation of every item 
    -45.0/180,
    0.0,
    45.0/180
  ]).addTranslate([           /// offset of every item
    new Offset(-370.0, -40.0),
    new Offset(0.0, 0.0),
    new Offset(370.0, -40.0)
  ])

Codes

Example

new ConstrainedBox(
  child: new Swiper(
    outer:false,
    itemBuilder: (c, i) {
      return new Wrap(
        runSpacing:  6.0,
        children: [0,1,2,3,4,5,6,7,8,9].map((i){
          return new SizedBox(
            width: MediaQuery.of(context).size.width/5,
            child: new Column(
              mainAxisSize: MainAxisSize.min,
              children: [
                new SizedBox(
                  child:  new Container(
                    child: new Image.network("https://fuss10.elemecdn.com/c/db/d20d49e5029281b9b73db1c5ec6f9jpeg.jpeg%3FimageMogr/format/webp/thumbnail/!90x90r/gravity/Center/crop/90x90"),
                  ),
                  height: MediaQuery.of(context).size.width * 0.12,
                  width: MediaQuery.of(context).size.width * 0.12,
                ),
                new Padding(padding: new EdgeInsets.only(top:6.0),child: new Text("$i"),)
              ],
            ),
          );
        }).toList(),
      );
    },
    pagination: new SwiperPagination(
      margin: new EdgeInsets.all(5.0)
    ),
    itemCount: 10,
  ),
    constraints:new BoxConstraints.loose(new Size(screenWidth, 170.0))
),

You can find all custom options here:

https://github.com/jzoom/flutter_swiper/blob/master/example/lib/src/ExampleCustom.dart

Comments
  • swiper item can't be hot add?

    swiper item can't be hot add?

    I download img from server then add the new item into the swiper items List. next setState() but it give me an error like this. ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════ I/flutter (21956): The following assertion was thrown building NotificationListener: I/flutter (21956): ScrollController not attached to any scroll views. I/flutter (21956): 'package:flutter/src/widgets/scroll_controller.dart': Failed assertion: line 110 pos 12: I/flutter (21956): '_positions.isNotEmpty' I/flutter (21956): I/flutter (21956): Either the assertion indicates an error in the framework itself, or we should provide substantially I/flutter (21956): more information in this error message to help you determine and fix the underlying cause. I/flutter (21956): In either case, please report this assertion by filing a bug on GitHub: I/flutter (21956): https://github.com/flutter/flutter/issues/new?template=BUG.md I/flutter (21956): I/flutter (21956): When the exception was thrown, this was the stack: I/flutter (21956): #2 ScrollController.position (package:flutter/src/widgets/scroll_controller.dart:110:12) I/flutter (21956): #3 PageController.animateToPage (package:flutter/src/widgets/page_view.dart:119:41) I/flutter (21956): #4 _TransformerPageViewState.didUpdateWidget (package:transformer_page_view/transformer_page_view.dart:511:25) I/flutter (21956): #5 StatefulElement.update (package:flutter/src/widgets/framework.dart:3879:58) I/flutter (21956): #6 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15) I/flutter (21956): #7 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16) I/flutter (21956): #8 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5) I/flutter (21956): #9 StatelessElement.update (package:flutter/src/widgets/framework.dart:3796:5) I/flutter (21956): #10 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15) I/flutter (21956): #11 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4601:32) I/flutter (21956): #12 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4992:17) I/flutter (21956): #13 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15) I/flutter (21956): #14 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16) I/flutter (21956): #15 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5) I/flutter (21956): #16 StatefulElement.update (package:flutter/src/widgets/framework.dart:3894:5) I/flutter (21956): #17 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15) I/flutter (21956): #18 RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4601:32) I/flutter (21956): #19 MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4992:17) I/flutter (21956): #20 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15) I/flutter (21956): #21 SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4883:14) I/flutter (21956): #22 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15) I/flutter (21956): #23 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16) I/flutter (21956): #24 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5) I/flutter (21956): #25 StatelessElement.update (package:flutter/src/widgets/framework.dart:3796:5) I/flutter (21956): #26 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15) I/flutter (21956): #27 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16) I/flutter (21956): #28 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5) I/flutter (21956): #29 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) I/flutter (21956): #30 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15) I/flutter (21956): #31 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3747:16) I/flutter (21956): #32 Element.rebuild (package:flutter/src/widgets/framework.dart:3559:5) I/flutter (21956): #33 ProxyElement.update (package:flutter/src/widgets/framework.dart:4006:5) I/flutter (21956): #34 Element.updateChild (package:flutter/src/widgets/framework.dart:2748:15)

    opened by ytxDaXiong 16
  • flutter_swiper and tabBar, error message:setState() called after dispose(); lifecycle state defunct not mounted

    flutter_swiper and tabBar, error message:setState() called after dispose(); lifecycle state defunct not mounted

    是tabBar中组件嵌套flutter_swiper,在切换tabBarView后,报错: setState() called after dispose(); lifecycle state defunct not mounted

    微信截图_20200818122941

    微信截图_20200818081940

    我只是在每个tabBarView里面加入了swiper

    `class SwiperCard extends StatefulWidget { List _data = []; SwiperCard(this._data, {Key key}) : super(key: key);

    @override _SwiperCardState createState() => _SwiperCardState(_data); }

    class _SwiperCardState extends State { List _data = []; _SwiperCardState(this._data);

    @override Widget build(BuildContext context) { return _data.length > 0 ? Container( height: 160, child: new Swiper( itemBuilder: (BuildContext context, int index) { return new Image.network( _data[index].poster, fit: BoxFit.fill, height: 160, ); }, onTap: (index) { // query Map args = <String, String>{'_id': _data[index].Id}; // router push Navigator.pushNamed(context, '/video', arguments: args); }, itemCount: _data.length, pagination: new SwiperPagination(), ), ) : Container(); } }`

    opened by ghost 8
  • How to change the swipe direction of the stack layout to the reverse of the default one?

    How to change the swipe direction of the stack layout to the reverse of the default one?

    Swiper( layout: SwiperLayout.STACK,

                  itemBuilder: (BuildContext context, int index) {
                    return Stack(
                      alignment: Alignment.topCenter,
                      children: <Widget>[
                        Image.network(
                          "http://via.placeholder.com/288x188",
                          fit: BoxFit.fill,
                        ),
                        Text(
                          index.toString(),
                          style: TextStyle(fontSize: 20),
                        )
                      ],
                    );
                  },
                  itemCount: 10,
                  itemWidth: 300.0,
                  // viewportFraction: 0.85,
                  // scale: 0.9,
                ),
    

    Please can anyone help me to understand how can I change the default card swiping direction?

    opened by adar2378 8
  • How do I change SwiperPagination.dots color?

    How do I change SwiperPagination.dots color?

    Hi,

    I need to change active and none active SwiperPagination.dots color. How do I do that?

    Currently active color shows green and none active color shows white. Currently I have green background and cannot see active color. It simply shows none active page color with is white.

    I need to change active and none active color based on my background picture. How can I do that?

    Thanks for this great plugin.

    opened by NTMS2017 6
  • Failed assertion: line 110 pos 12: '_positions.isNotEmpty'

    Failed assertion: line 110 pos 12: '_positions.isNotEmpty'

    I have 5 pieces of data in my Swiper, I have an Index record of the current position, and when I delete the last item, I move the Index forward and delete the last item. This is when the error is reported.

    flutter: The following assertion was thrown: flutter: ScrollController not attached to any scroll views. flutter: 'package:flutter/src/widgets/scroll_controller.dart': flutter: Failed assertion: line 110 pos 12: '_positions.isNotEmpty' flutter: flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially flutter: more information in this error message to help you determine and fix the underlying cause.

    opened by dingzuhua 5
  • error and can't swipe and white while init

    error and can't swipe and white while init

    [ERROR:flutter/shell/common/shell.cc(181)] Dart Error: Unhandled exception:
    E/flutter (29329): NoSuchMethodError: The method '>' was called on null.
    E/flutter (29329): Receiver: null
    E/flutter (29329): Tried calling: >(411428571428.5715)
    E/flutter (29329): #0      Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:48:5)
    E/flutter (29329): #1      double.< (dart:core/runtime/libdouble.dart:65:18)
    E/flutter (29329): #2      double.<= (dart:core/runtime/libdouble.dart:78:37)
    E/flutter (29329): #3      PageScrollPhysics.createBallisticSimulation (package:flutter/src/widgets/page_view.dart:366:45)
    E/flutter (29329): #4      ScrollPositionWithSingleContext.goBallistic (package:flutter/src/widgets/scroll_position_with_single_context.dart:147:43)
    E/flutter (29329): #5      DrivenScrollActivity._end (package:flutter/src/widgets/scroll_activity.dart:634:15)
    E/flutter (29329): #6      _RootZone.run (dart:async/zone.dart:1374:54)
    E/flutter (29329): #7      _FutureListener.handleWhenComplete (dart:async/future_impl.dart:153:18)
    E/flutter (29329): #8      Future._propagateToListeners.handleWhenCompleteCallback (dart:async/future_impl.dart:612:39)
    E/flutter (29329): #9      Future._propagateToListeners (dart:async/future_impl.dart:668:37)
    E/flutter (29329): #10     Future._completeWithValue (dart:async/future_impl.dart:486:5)
    E/flutter (29329): #11     Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:516:7)
    E/flutter (29329): #12     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
    E/flutter (29329): #13     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
    I/flutter (29329): Another exception was thrown: NoSuchMethodError: The method '<=' was called on null.
    I/chatty  (29329): uid=10517(com.yimaguquan) 2.ui identical 17 lines
    I/flutter (29329): Another exception was thrown: NoSuchMethodError: The method '<=' was called on null.
    
    Doctor summary (to see all details, run flutter doctor -v):
    [✓] Flutter (Channel unknown, v0.8.3, on Mac OS X 10.12.6 16G29, locale zh-Hans-CN)
    [✓] Android toolchain - develop for Android devices (Android SDK 28.0.2)
    [✓] iOS toolchain - develop for iOS devices (Xcode 9.2)
    [✓] Android Studio
        ✗ Flutter plugin not installed; this adds Flutter specific functionality.
        ✗ Dart plugin not installed; this adds Dart specific functionality.
    [✓] Android Studio (version 3.1)
    [✓] IntelliJ IDEA Ultimate Edition (version 2017.1.4)
    [✓] Connected devices (1 available)
    
    • No issues found!
    
    
    opened by krmao 4
  • How can I implement the vertical scroll axis for Stack / Tinder Layout?

    How can I implement the vertical scroll axis for Stack / Tinder Layout?

    scrollDirection -> vertical doesn't seem to work for layouts STACK and TINDER. Please do tell how organize the Stacks vertically if the scroll direction is made vertical.

    Regards Lavan

    opened by Lavan01 4
  • Swiper physics

    Swiper physics

    Hi & thank you for your great work on Swiper. I use it & I like it but can you please explain how can I use Swiper inside PageView without set physics: NeverScrollableScrollPhysics(). Default ListView scroll inside PageView fine but when I try to Swipe it change my Page. Can you help with this issue?

    Swiper( layout: SwiperLayout.STACK, fade: 1.0, itemWidth: containerWidth, itemHeight: containerHeight, itemBuilder: (context, index) { if (motivations.length >= 3) { return LargeMotivationCard( containerHeight: containerHeight, containerWidth: containerWidth, motivation: motivations[index], index: index, border: 8.0, ); } else { return Container( child: Padding( padding: const EdgeInsets.all(80.0), child: SvgPicture.asset( 'storage/assets/icons/tabs/ai.svg', color: Theme.of(context).accentColor.withOpacity(0.1), ), ), ); } }, itemCount: 7, ),

    opened by yarmel 3
  • How to add item image from asset

    How to add item image from asset

    hi i want to add 4 custom image from asset. but i dont know how to implement this.

    new Swiper( autoplay: true, itemBuilder: (BuildContext context, int index) { return InkWell( onTap: (){ print("aaaaa"); }, child: new Image.asset( "img/dummy.jpg", fit: BoxFit.fill, ), ); }, itemCount: 4, viewportFraction: 0.8, scale: 0.9, ), ),

    the code just showing 1 image from asset. how to show more than 1 image in this swipper ? also an implementation using indicator ._.

    thanks

    opened by Nabouste 3
  • flutter_swiper: ^1.0.6里面的点击事件onTap怎么不执行啊.没反应

    flutter_swiper: ^1.0.6里面的点击事件onTap怎么不执行啊.没反应

    class _ClassifyPage extends State { @override Widget build(BuildContext context) { return new Container( width: MediaQuery .of(context) .size .width, height: 200.0, child: new Swiper( itemBuilder: _swiperBuilder, itemCount: 2, pagination: new SwiperPagination( builder: DotSwiperPaginationBuilder( color: Colors.white, activeColor: Colors.red ), margin: EdgeInsets.all(30.0) ), control: new SwiperControl( iconNext: null, iconPrevious: null, ), scrollDirection: Axis.horizontal, autoplay: true, onTap: (index) => print('点击了第个') ), ); }

    能帮我解答下么?

    opened by ZHLhenry 3
  • Swiper layout stack and loop false renders one more item

    Swiper layout stack and loop false renders one more item

    When Swiper has loop false and layout stack it has widget during swipe from left to right.

    To reproduce my issue use the code below and add an itembuilder

    Swiper(
    loop: false,
    layout: SwiperLayout.STACK)
    
    opened by andeeDev 2
  • How to reverse the scroll decoration while using CustomLayoutOption

    How to reverse the scroll decoration while using CustomLayoutOption

    Hi, I got a question in how to change the scroll decoration while using CustomLayoutOption.

    As the pic showed, there are three items in the swiper, and when I move my finger from bottom to top on the screen, what I want is the card labeld "1" would move up and fade, but now the card labeled "2" would move down from the top of screen and stack over the card labeled "1". How can I fix this?

    https://user-images.githubusercontent.com/57172803/200162305-cd9e1aa9-4639-4d38-8b89-4f850763990f.mp4

    opened by Hasuer 0
  • 使用的 flutter 库已弃坑,或者长时间不维护,该怎么办

    使用的 flutter 库已弃坑,或者长时间不维护,该怎么办

    首先非常感谢作者开源的这个库,帮助大家提升了开发效率。

    这个库的最后一次提交距离现在已经有三年时间了,在这三年的时间中,Flutter 发展非常快,比如说 dart 2.12 开始支持的空安全,dart 2.17 开始支持枚举成员变量,Flutter 3,以及 AndroidX 的支持等等。

    为了支持空安全,我也使用过另外一个作者维护的 card_swiper,Flutter 3 发布后,这个库也没能及时更新,并且我发现它存在 SwiperPagination.rect 指示器不显示的 bug。

    于是我 fork 作者的代码,维护了一份代码: https://github.com/feicien/flutter_swiper_view

    经过摸索,我成功把它上传到了 pub.dev 仓库:https://pub.dev/packages/flutter_swiper_view

    可能以后我维护的这份代码也会弃坑,所以建议大家都尝试一下:如何自己维护代码,并把它发布到 pub.dev 上。

    这样,无论是这个库还是其它库,作者弃坑了,或者长时间不维护,我们都可以自己来维护。

    我想这也是开源项目的魅力吧。

    opened by feicien 2
  • Removed and integrated dependencies, then upgrade to null-safety

    Removed and integrated dependencies, then upgrade to null-safety

    The packages transformer_page_viewand flutter_page_indicator are removed from the file pubspec.yaml and integrated into this package's source code before this package is upgraded to null-safety.

    opened by kiatuki 0
Owner
null
Build flexible layouts with constraints, Similar to Android ConstraintLayout

Flutter ConstraintLayout Build flexible layouts with constraints, Similar to Android ConstraintLayout. No matter how complex the layout is and how dee

fangbing chen 247 Jan 5, 2023
A Very Good Infinite List Widget created by Very Good Ventures. Great for activity feeds, news feeds, etc. 🦄

InfiniteList comes in handy when building features like activity feeds, news feeds, or anywhere else where you need to lazily fetch and render content for users to consume.

Very Good Open Source 102 Dec 12, 2022
Fluid layouts allows you to create responsive layout for mobile, web and desktop from a single codebase.

Fluid layout aims to help building a responsive experience through all the different screen sizes. Based in the boostrap approach, FluidLayout calculates a padding content (fluid_padding) that changes depending on the parent size. The Fluid widget uses that padding to set its size

Jaime Blasco 3 Jan 10, 2022
A complete, ready to use, Neumorphic ui kit for Flutter, 🕶️ dark mode compatible

flutter_neumorphic A complete, ready to use, Neumorphic ui kit for Flutter Try Flutter-Neumorphic on your browser : ?? https://flutter-neumorphic.fire

Idean 1.6k Jan 1, 2023
Some flutter best practice

مثال‌های پر استفاده فلاتر این ریپازیتوری شامل مثال‌هایی از استراتژی‌های مورد نیاز و پرتکرار در توسعه اپلیکیشن‌ها است. سعی شده است که در هر مثال به صور

Novin Tose'e Company 4 Sep 22, 2021
The most complete flutter plugin packages for open various settings screen in Android and Ios

open_settings The most complete flutter plugin packages for open various settings screen in Android and Ios For Android: this plugin currently support

Ali Hoseinpoor 15 Dec 11, 2022
A small attempt to make an e-commerce user interface in Flutter for Android and iOS.

Flutter ecommerce App A small attempt to make an e-commerce user interface in Flutter for Android and iOS. I developed this application just for learn

Md Tarikul Islam 615 Jan 3, 2023
Flutter YouTube UI - Web & Mobile: Android | IOS

YouTube Clone UI - Flutter Mobile: IOS | Android Mobile Version: Android | IOS @luanbatistadev Open Source Copyright © 2021-present, Luan Batista. Fac

Luan Batista 5 Sep 22, 2022
A Flutter plugin for iOS and Android for generating sign-in buttons for different social media account.

A Flutter plugin for iOS and Android for generating sign-in buttons for different social media account.

Julian Steenbakker 6 Nov 6, 2022
E-commerce UI concept in Flutter for Android and iOS, this application just for learning purposes.

E-commerce UI concept in Flutter for Android and iOS, this application just for learning purposes. There are over 20 screen variations.

Pronab Sen Gupta 2 Nov 12, 2022
An android/ios E-commerce application developed for local retailers and businesses.

flutterapp A new Flutter application. Getting Started This project is a starting point for a Flutter application. A few resources to get you started i

null 0 Dec 28, 2021
Native text input from iOS for Flutter

Native Text Input for Flutter A text input widget built using the native UITextView on iOS (this package only supports iOS for now). Installation Foll

Henry Leung 55 Dec 24, 2022
A nice clean onboarding screen for your e-commerce app that can run both Andriod and iOS devices because it builds with flutter

A nice clean onboarding screen for your e-commerce app that can run both Andriod and iOS devices because it builds with flutter

null 23 Dec 4, 2022
Foody - Flutter project to display foods to clients and display charts and has a lot of features , two flutter apps : Android and Web

Foody Flutter project to display foods to the clients and use charts and use a lot of features to complete the process (HUGE APP) There two apps: Andr

ABDULKARIMALBAIK 1 Feb 7, 2022
Movies App UI in Flutter using Simple Widgets without Using API's in Flutter.

Movies App UI in Flutter using Simple Widgets without Using API's in Flutter.

Habib ullah 3 May 15, 2022
A flutter plugin for Easily make Flutter apps responsive. Automatically adapt UI to different screen sizes. Responsiveness made simple.

A flutter plugin for Easily make Flutter apps responsive. Automatically adapt UI to different screen sizes. Responsiveness made simple.

Urmish Patel 191 Dec 29, 2022
The Coolicons icon pack for Flutter with over 400 icons available for your flutter project.

coolicons This flutter package allows you to use the Coolicons icon pack. Made from Coolicons. ?? Installation In the dependencies: section of your pu

Stephen Joel 1 May 24, 2022
Flutter-business-card-app - Flutter + Dart business card mobile app

Dart + Flutter Business Card Mobile Application

Mark Hellner 1 Nov 8, 2022
A Flutter project that gives basic flutter design to implement a login UI

Login UI Design A Flutter project that gives basic flutter design to implement a

CABREX 9 Nov 8, 2022