FLUTTER ECOSYSTEM

rxlabz/cyclop

带有吸管工具、HSL、RGB 和 Material 颜色的 Flutter 色板

cyclop 项目封面
Stars
119
Forks
39
最近推送(UTC)
2023年9月29日
项目状态
未归档
Erick Ghaumez GitHub avatar
GITHUB User

Erick Ghaumez ↗

Idea, Design, Code... test, learn, share and 🔁 Freelance Software UIngineer & Trainer #Flutter #Dartlang

RX LabzLyon, France官方网站 ↗
语言DartHTMLSwiftShellKotlinObjective-C

技术话题

此仓库发布的插件

使用的依赖

依赖清单 6 项

原始 README

以下为英文项目原文快照,最新内容请访问 GitHub。

展开 / 收起项目 README

Cyclop Pub Version

Cyclop logo

A flutter colorpicker with an eyedropper tool. Works on mobile, desktop & web ( CanvasKit)

Demo

Desktop & tablet Mobile
Cyclop desktop eyedropper Cyclop onmobile
Material HSL RVB Custom
Cyclop material Cyclop hsl Cyclop hsl Cyclop hsl
Light theme Dark theme
Cyclop light Cyclop dark
Eyedropper

Select a color from your Flutter mobile or desktop screen.

Cyclop eye dropper

To use the eyedropper you need to wrap the app in the EyeDrop widget.

@override
  Widget build(BuildContext context) {
    return EyeDrop(
      child: Builder(
        builder: (context) => Scaffold(
          backgroundColor: backgroundColor,
          body: Container(
            child: ColorButton(
              key: Key('c1'),
              color: color1,
              config: ColorPickerConfig(enableEyePicker = true),
              size: 32,
              elevation: 5,
              boxShape: BoxShape.rectangle, // default : circle
              swatches: swatches,
              onColorChanged: (value) => setState(() => color1 = value),
            ),
          ),
        ),
      ),
    );
  }
Customisable
  • disable opacity slider
  • disable eye dropping
  • disable swatch library
  • Circle or Square color buttons
ColorButton(
  key: Key('c1'),
  color: color1,
  config: ColorPickerConfig(
    this.enableOpacity = true,
    this.enableLibrary = false,
    this.enableEyePicker = true,
  ),
  boxShape: BoxShape.rectangle, // default : circle
  size: 32,
  swatches: swatches,
  onColorChanged: (value) => setState( () => color1 = value ),
 );

ColorButton(
  key: Key('c2'),
  color: color2,
  config: ColorPickerConfig(enableEyePicker: false),
  size: 64,
  swatches: swatches,
  onColorChanged: (value) => setState( () => color2 = value ),
  onSwatchesChanged: (newSwatches) => setState(() => swatches = newSwatches),
 );