ios_color_picker

A Flutter package that provides an iOS-style color picker UI for every Flutter platform, plus access to the native iOS color picker on iOS.

Supported Platforms

  • Linux
  • macOS
  • Web
  • Windows
  • iOS
  • Android

Requirements

  • Flutter 3.41.0 or later
  • Dart 3.11.4 or later
  • Android minSdk 24
  • iOS 14.0 or later for the native iOS picker
  • macOS 10.15 or later

Features

Screenshots & Demo

Getting Started

Add the package and create a controller. Dispose the controller from your widget's dispose method because the native iOS picker streams color changes through an event channel.

Usage

final iosColorPickerController = IOSColorPickerController();

/// Native iOS Color Picker
ElevatedButton(
  onPressed: () {
    iosColorPickerController.showNativeIosColorPicker(
      startingColor: backgroundColor,
      darkMode: true,
      onColorChanged: (color) {
        setState(() {
          backgroundColor = color;
        });
      },
    );
  },
  child: Text("Native iOS"),
),

/// Custom iOS Color Picker (for all platforms)
ElevatedButton(
  onPressed: () {
    iosColorPickerController.showIOSCustomColorPicker(
      startingColor: backgroundColor,
      onColorChanged: (color) {
        setState(() {
          backgroundColor = color;
        });
      },
      context: context,
    );
  },
  child: Text("Custom iOS for all"),
),

Dispose the controller:

final IOSColorPickerController iosColorPickerController =
    IOSColorPickerController();

@override
void dispose() {
  iosColorPickerController.dispose();
  super.dispose();
}

Example

Run the app in the example/ folder to explore the plugin.

Additional Information

For more updates and inquiries, connect with me on LinkedIn: