Flutter Map plugin for ArcGIS Esri. Currently support feature layer (point, polygon)

Overview

Flutter Map plugin for ArcGIS Esri

Currently support feature layer(point, polygon, polyline coming soon)

We are working on more features

A Dart implementation of Esri Leaflet for Flutter apps. This is a plugin for flutter_map package

Usage

Add flutter_map, dio and flutter_map_arcgis to your pubspec:

dependencies:
  flutter_map: any
  flutter_map_arcgis: any # or the latest version on Pub
  dio: any # or the latest version on Pub

Add it in you FlutterMap and configure it using FeatureLayerOptions.

  Widget build(BuildContext context) {
      return MaterialApp(
        home: Scaffold(
          appBar: AppBar(title: Text('ArcGIS')),
          body: Padding(
            padding: EdgeInsets.all(8.0),
            child: Column(
              children: [
                Flexible(
                  child: FlutterMap(
                    options: MapOptions(
                      center: LatLng(32.91081899999999, -92.734876),
                      zoom: 11.0,
                      plugins: [EsriPlugin()],
  
                    ),
                    layers: [
                      TileLayerOptions(
                        urlTemplate:
                        'http://{s}.google.com/vt/lyrs=m&x={x}&y={y}&z={z}',
                        subdomains: ['mt0', 'mt1', 'mt2', 'mt3'],
                        tileProvider: CachedNetworkTileProvider(),
                      ),
                      FeatureLayerOptions(
                        url: "https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_Congressional_Districts/FeatureServer/0",
                        geometryType:"polygon",
                        onTap: (attributes, LatLng location) {
                          print(attributes);
                        },
                        render: (dynamic attributes){
                          // You can render by attribute
                          return PolygonOptions(
                              borderColor: Colors.blueAccent,
                              color: Colors.black12,
                              borderStrokeWidth: 2
                          );
                        },
  
                      ),
                      FeatureLayerOptions(
                        url: "https://services8.arcgis.com/1p2fLWyjYVpl96Ty/arcgis/rest/services/Forest_Service_Recreation_Opportunities/FeatureServer/0",
                        geometryType:"point",
                        render:(dynamic attributes){
                          // You can render by attribute
                          return Marker(
                            width: 30.0,
                            height: 30.0,
                            builder: (ctx) => Icon(Icons.pin_drop),
                          );
                        },
                        onTap: (attributes, LatLng location) {
                          print(attributes);
                        },
                      ),
  
                    ],
                  ),
                ),
              ],
            ),
          ),
        ),
      );
    }

Run the example

See the example/ folder for a working example app.

Comments
  • Performance problems

    Performance problems

    Currently It's impossible to use this plugin with a decent user experience.

    I don't know where but there's a heavy bottleneck that lags the rendering pipeline, I can't reach more than 2 frames per second on my mobile device.

    A quick profiling shows way to many time spent in _drawCircle, it seems like the FeatureLayer it's rebuilding things every single frame or doing some heavy computations in the build methods, idk.

    I'm not familiar with the codebase but I will suggest looking at the implementation of other plugins and flutter_map itself.

    Furthermore here are some resources that can be useful:

    • https://docs.flutter.dev/testing/common-errors
    • https://docs.flutter.dev/perf/rendering/best-practices
    • https://www.youtube.com/watch?v=PKGguGUwSYE
    • https://www.youtube.com/watch?v=vVg9It7cOfY
    • https://www.youtube.com/watch?v=qax_nOpgz7E
    • https://www.youtube.com/watch?v=nq43mP7hjAE
    opened by pablojimpas 2
  • Not compiling in Flutter 2.10.x

    Not compiling in Flutter 2.10.x

    Project crashes after upgrading to newer Flutter version 2.10.x

    e: Incompatible classes were found in dependencies. Remove them from the classpath or use '-Xskip-metadata-version-check' to suppress errors
    e: C:/Users/haris/.gradle/caches/transforms-3/17abc7e5a6261eb801a88d24287dde03/transformed/jetified-kotlinx-coroutines-core-jvm-1.5.2.jar!/META-INF/kotlinx-coroutines-core.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    e: C:/Users/haris/.gradle/caches/transforms-3/2acf002dee0dbb185eb1efd8f2f62b17/transformed/jetified-kotlin-stdlib-jdk7-1.5.30.jar!/META-INF/kotlin-stdlib-jdk7.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    e: C:/Users/haris/.gradle/caches/transforms-3/31053fd189ee3ad9fb7dec10ce042723/transformed/jetified-window-java-1.0.0-beta04-api.jar!/META-INF/window-java_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    e: C:/Users/haris/.gradle/caches/transforms-3/5713b5cc31a51311acb62ac7cdc05e57/transformed/jetified-kotlinx-coroutines-android-1.5.2.jar!/META-INF/kotlinx-coroutines-android.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    e: C:/Users/haris/.gradle/caches/transforms-3/6079f933877ff457f6c594a365bc8ca4/transformed/jetified-window-1.0.0-beta04-api.jar!/META-INF/window_release.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    e: C:/Users/haris/.gradle/caches/transforms-3/76d655b64600122b2efb37b3d7f27c2c/transformed/jetified-kotlin-stdlib-common-1.5.31.jar!/META-INF/kotlin-stdlib-common.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    e: C:/Users/haris/.gradle/caches/transforms-3/97d78bca67a25d7a5023b2a16b4e6e78/transformed/jetified-kotlin-stdlib-jdk8-1.5.30.jar!/META-INF/kotlin-stdlib-jdk8.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    e: C:/Users/haris/.gradle/caches/transforms-3/d9f386d8159dad0812e9f15bc5ca87b1/transformed/jetified-kotlin-stdlib-1.5.31.jar!/META-INF/kotlin-stdlib.kotlin_module: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    e: C:\Users\haris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\flutter_map_arcgis-2.0.0\android\src\main\kotlin\mn\khankhulgun\flutter_map_arcgis\FlutterMapArcgisPlugin.kt: (15, 13): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    The class is loaded from C:/Users/haris/.gradle/caches/transforms-3/d9f386d8159dad0812e9f15bc5ca87b1/transformed/jetified-kotlin-stdlib-1.5.31.jar!/kotlin/Unit.class
    e: C:\Users\haris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\flutter_map_arcgis-2.0.0\android\src\main\kotlin\mn\khankhulgun\flutter_map_arcgis\FlutterMapArcgisPlugin.kt: (28, 6): Class 'kotlin.jvm.JvmStatic' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    The class is loaded from C:/Users/haris/.gradle/caches/transforms-3/d9f386d8159dad0812e9f15bc5ca87b1/transformed/jetified-kotlin-stdlib-1.5.31.jar!/kotlin/jvm/JvmStatic.class
    e: C:\Users\haris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\flutter_map_arcgis-2.0.0\android\src\main\kotlin\mn\khankhulgun\flutter_map_arcgis\FlutterMapArcgisPlugin.kt: (31, 15): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    The class is loaded from C:/Users/haris/.gradle/caches/transforms-3/d9f386d8159dad0812e9f15bc5ca87b1/transformed/jetified-kotlin-stdlib-1.5.31.jar!/kotlin/Unit.class
    e: C:\Users\haris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\flutter_map_arcgis-2.0.0\android\src\main\kotlin\mn\khankhulgun\flutter_map_arcgis\FlutterMapArcgisPlugin.kt: (36, 5): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    The class is loaded from C:/Users/haris/.gradle/caches/transforms-3/d9f386d8159dad0812e9f15bc5ca87b1/transformed/jetified-kotlin-stdlib-1.5.31.jar!/kotlin/Unit.class
    e: C:\Users\haris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\flutter_map_arcgis-2.0.0\android\src\main\kotlin\mn\khankhulgun\flutter_map_arcgis\FlutterMapArcgisPlugin.kt: (37, 14): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    The class is loaded from C:/Users/haris/.gradle/caches/transforms-3/d9f386d8159dad0812e9f15bc5ca87b1/transformed/jetified-kotlin-stdlib-1.5.31.jar!/kotlin/Unit.class
    e: C:\Users\haris\AppData\Local\Pub\Cache\hosted\pub.dartlang.org\flutter_map_arcgis-2.0.0\android\src\main\kotlin\mn\khankhulgun\flutter_map_arcgis\FlutterMapArcgisPlugin.kt: (39, 14): Class 'kotlin.Unit' was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.15.
    The class is loaded from C:/Users/haris/.gradle/caches/transforms-3/d9f386d8159dad0812e9f15bc5ca87b1/transformed/jetified-kotlin-stdlib-1.5.31.jar!/kotlin/Unit.class
    
    FAILURE: Build failed with an exception.
    
    * What went wrong:
    Execution failed for task ':flutter_map_arcgis:compileDebugKotlin'.
    > Compilation error. See log for more details
    
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    
    * Get more help at https://help.gradle.org
    
    BUILD FAILED in 1m 3s
    
    opened by Harishwarrior 2
  • Marker on Featurelayeroption is flickering

    Marker on Featurelayeroption is flickering

    Hi,

    I dunno how to debug it myself. I understood from the codes that you have set a delay of 200milliseconds to load the markers when moving around the map.

    This means Move --> stop --> Load marker Move --> stop --> Load marker

    However, if you do the following in quick succession Move --> stop --> move --> stop --> move --> stop before the "point/marker" can load, the point/marker will flicker around to catch up and eventually load at the wrong grid.

    Seeking your help on this.

    Thanks for the package!

    opened by kelbin15 2
  • Limit feature in Flutter Map Arcgis and  ServiceFeatureTable is not supported.

    Limit feature in Flutter Map Arcgis and ServiceFeatureTable is not supported.

    Hello Flutter Team, We found that there is already flutter plugin provided for the Arcgis Map but with limited feature and functionality. In our application we need to ServiceFeatureTable and FeatureLayer but right now not available in Arcgis map plugin. If you have any plan to update the arcgis pulgin, when we can expect the update.

    opened by akkamboj 2
  • Feature requests: ability to specify different paint PolygonOptions for individual pologons

    Feature requests: ability to specify different paint PolygonOptions for individual pologons

    I want to paint each polygon with different colors, I'm thinking about some sort of callback so I can provide different options based on the attributes.

    opened by pixnbit 2
  • onTab callback getting called excessive times.

    onTab callback getting called excessive times.

    I used "https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_States_Generalized/FeatureServer/0" to display US states. The number of callbacks is related to the number of polygons on screen. 1 polygon, 1 callback, and 50 polygons, 50 callbacks. with all other callbacks returning 'null' attributes. Is this expected? I don't think so. For now I'll just filter out the null ones.

    flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: {FID: 12, STATE_NAME: Kansas, STATE_FIPS: 20, SUB_REGION: West North Central, STATE_ABBR: KS, POPULATION: 2970523, POP_SQMI: 36.1, POP2010: 2853118, POP10_SQMI: 34.7, WHITE: 2391044, BLACK: 167864, AMERI_ES: 28150, ASIAN: 67762, HAWN_PI: 2238, HISPANIC: 300042, OTHER: 110127, MULT_RACE: 85933, MALES: 1415408, FEMALES: 1437710, AGE_UNDER5: 205492, AGE_5_9: 202447, AGE_10_14: 198884, AGE_15_19: 203821, AGE_20_24: 204454, AGE_25_34: 377720, AGE_35_44: 346673, AGE_45_54: 406264, AGE_55_64: 331247, AGE_65_74: 190389, AGE_75_84: 126409, AGE_85_UP: 59318, MED_AGE: 36, MED_AGE_M: 34.7, MED_AGE_F: 37.3, HOUSEHOLDS: 1112096, AVE_HH_SZ: 2.49, HSEHLD_1_M: 140529, HSEHLD_1_F: 168809, MARHH_CHD: 250118, MARHH_NO_C: 318191, MHH_CHILD: 32147, FHH_CHILD: 81709, FAMILIES: 734103, AVE_FAM_SZ: 3.06, HSE_UNITS: 1233215, VACANT: 121119, OWNER_OCC: 753532, RENTER_OCC: 358564, NO_FARMS12: 61773, AVE_SIZE12: 747, CROP_ACR12: 28503265, AVE_SALE12: 298845, SQMI: 82277.97, Shape__Area: 348078970838.738, Shape__Le<…> flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573) flutter: null flutter: LatLng(latitude:38.882523, longitude:-97.096573)

    opened by pixnbit 2
  • Draw polygons

    Draw polygons

    For example I want to draw: https://services.arcgis.com/P3ePLMYs2RVChkJx/arcgis/rest/services/USA_Congressional_Districts/FeatureServer/0

    From the sample code I tried : "esriGeometryPolygon" and "poloygon" both didn't work

    opened by pixnbit 2
  • Can't use along with flutter_map ^2.0.0

    Can't use along with flutter_map ^2.0.0

    Because flutter_map_arcgis 2.0.0 depends on flutter_map ^0.14.0 and no versions of flutter_map_arcgis match >2.0.0 <3.0.0, flutter_map_arcgis ^2.0.0 requires flutter_map ^0.14.0.
    So, because servicerequest depends on both flutter_map_arcgis ^2.0.0 and flutter_map ^2.0.0, version solving failed.
    pub get failed (1; So, because servicerequest depends on both flutter_map_arcgis ^2.0.0 and flutter_map ^2.0.0, version solving failed.)
    

    Can you guys update this plugin please ?.

    opened by Harishwarrior 1
  • onTap is passed Location 0.0,0.0 regardless of point of marker

    onTap is passed Location 0.0,0.0 regardless of point of marker

    Expected to pass through the LatLng of the marker itself LatLng(feature["geometry"]["y"].toDouble(), feature["geometry"]["x"].toDouble());

    opened by bsneider 0
  • Incompatible with flutter_map: 3.1.0

    Incompatible with flutter_map: 3.1.0

    Can't use with flutter_map 3.1.0

    Because flutter_map_arcgis 2.0.4 depends on flutter_map ^2.1.1 and no versions of flutter_map_arcgis match >2.0.4 <3.0.0, flutter_map_arcgis ^2.0.4 requires flutter_map ^2.1.1.
    So, because app depends on both flutter_map_arcgis ^2.0.4 and flutter_map ^3.1.0, version solving failed.
    pub get failed (1; So, because servicerequest depends on both flutter_map_arcgis ^2.0.4 and flutter_map ^3.1.0, version solving failed.)
    
    opened by Harishwarrior 0
  • Flickering of Point Layers

    Flickering of Point Layers

    Just testing out the feasibility of this plugin for Flutter. I noticed while utilizing a point layer the points seem to flicker in and out on the map. I tried both dynamically loaded images and static icons:

    return PointOptions(
                                width: 30.0,
                                height: 30.0,
                                builder: Icon(Icons.maps_ugc, size: 32));
    
    return PointOptions(
                              width: 30.0,
                              height: 30.0,
                              builder: CachedNetworkImage(
                                  placeholder: (context, url) =>
                                      const CircularProgressIndicator(),
                                  imageUrl: "$_markertype"),
                            );
    

    ...both do this flickering. Then at certain zoom levels (no consistency I can see) the icons are just gone. Any thoughts?

    device-2022-10-17-173751

    opened by jasonjflaherty 0
  • How to load tile layer of arcgis map in flutter_map?

    How to load tile layer of arcgis map in flutter_map?

    opened by tashi146 0
  • How to set License for ArcGIS Map?

    How to set License for ArcGIS Map?

    I am using paid ArcGIS Map in Native Android. I can load proper map on Native Android. But in flutter I could not set ArcGIS map. Unable to find ArcGISRuntimeEnvironment.setLicense() in flutter.

    opened by nikhilpawar151 0
  • Feature Layers with basic auth

    Feature Layers with basic auth

    I have some feature layers that require basic auth to query them. If I try to show them directly I get: "DioError [DioErrorType.response]: Http status error [401]"

    Is there a way to add headers to the requests? Or how can I do that?

    opened by ovsleep 0
Owner
Munkh-Altai
Munkh-Altai
Let's Encrypt support for the shelf package (free and automatic HTTPS certificate support).

shelf_letsencrypt shelf_letsencrypt brings support for Let's Encrypt to the shelf package. Usage To use the LetsEncrypt class import 'dart:io'; impor

Graciliano Monteiro Passos 8 Oct 31, 2022
Library for help you make userbot or bot telegram and support tdlib telegram database and only support nodejs dart and google-apps-script

To-Do telegram client dart ✅️ support multi token ( bot / userbot ) ✅️ support bot and userbot ✅️ support telegram-bot-api local server ✅️ support tel

Azka Full Snack Developer:) 73 Jan 7, 2023
A mobile map based application to help people everywhere around the world get help

Wonder This is a mobile application made by flutter. The application is called "Wonder" because it will help people everywhere around the world to get

Sara Nersisian 1 Dec 2, 2021
Provide route generator to create route map quickly by annotations.

ff_annotation_route Languages: English | 中文简体 Description Provide a route generator to create route map quickly by annotations. ff_annotation_route De

FlutterCandies 113 Nov 25, 2022
Cache json map to local file with Dart:io. Read file with sync api.

local_cache_sync 一个非常简单易用的Flutter本地储存库,适用于在本地储存一列轻量数据(例如用户保存在本地的设备信息,或者缓存一系列用户信息)。 local_cache_sync的所有方法都是同步,而不是异步的。这意味着你不需要使用await就可以获取数据。在flutter中,这

null 16 Jun 24, 2022
Simply extract required values from specific paths in a Map or a List

extract values from Map/List using dot-seprated strings you don't have to cast multiple times to fetch a simple values, this is very useful while working with i.e json data

Mohammed Al Ashaal 5 Nov 18, 2022
Okan YILDIRIM 37 Jul 10, 2022
The Dart Time Machine is a date and time library for Flutter, Web, and Server with support for timezones, calendars, cultures, formatting and parsing.

The Dart Time Machine is a date and time library for Flutter, Web, and Server with support for timezones, calendars, cultures, formatting and parsing.

null 2 Oct 8, 2021
Queen support for localization in flutter

Nations ?? Features translation without context ?? custom configuration value not found builder fallback locale supported locales fall back to base be

Ahmed Masoud 10 Jun 22, 2022
Easy to use session wrapper that adds support to session storage and management in flutter.

flutter_session_manager Adds an easy to use wrapper to session management in flutter. Allows for easy session storage and management. The session pers

Eduardo Migueis 2 Feb 15, 2022
A generator to create config class from json files that support many environments

A generator to create config class from json files that support many environments. Motivation If you use a json file to config your applications, perp

Diego Cardenas 0 Oct 9, 2021
library to help you create database on local memory, support json local database inspired by lowdb

Licensed Licensed under the MIT License <http://opensource.org/licenses/MIT>. SPDX-License-Identifier: MIT Copyright (c) 2021 Azkadev <http://github.c

Azka Full Snack Developer:) 35 Oct 17, 2022
Morphological analysis of Japanese sentences. This Flutter plugin helps you to analyze Japanese sentences.

ringo ringo is japanese word separator. Usage final ringo = await Ringo.init(); final tokenized = ringo.tokenize('吾輩はRingoである'); print('tokenized: $to

ryo 8 Oct 31, 2022
A flutter plugin that implements google's standalone ml kit

A flutter plugin that implements google's standalone ml kit

Bharat Biradar 424 Dec 30, 2022
A flutter plugin for execute dart code in background.

flutter_background_service A flutter plugin for execute dart code in background. Android No additional setting required. To change notification icon,

Eka Setiawan Saputra 160 Dec 27, 2022
A Flutter plugin that exposes Monet (Material You, Material 3) system colors on Android 12.

Monet Colors A Flutter plugin that exposes Monet (Material You, Material 3) system colors on Android 12. Returns null on unsupported platforms and lea

İhsan Işık 3 Aug 26, 2022
A flutter plugin that provides external storage path and external public storage path

ext_storage ext_storage is minimal flutter plugin that provides external storage path and external public storage path

null 0 Nov 16, 2021
Flutter WebRTC plugin Demo

Flutter WebRTC plugin Demo

null 0 Nov 19, 2021
Flutter plugin to help experiment with different Color Schemes without pain.

Random Color Scheme Making a coherent Material Design theme is hard. This is a Flutter plugin that generates a random color pallet based on Material D

Bernardo Ferrari 77 Dec 6, 2022