Orientação gerada a partir de informações públicas. Apenas para referência.
Um seletor de cores em formato de roda totalmente escrito em Dart, projetado para aplicações Flutter. Oferece uma interface circular intuitiva para seleção de cores, sendo ideal para ferramentas de design, personalizadores de temas e aplicativos criativos. O seletor suporta transições suaves entre cores e é compatível com todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. Seu design limpo e personalizável permite que desenvolvedores integrem uma experiência visualmente atraente de seleção de cores com configuração mínima.
Casos de uso
Integrações de ferramentas de design
Interfaces de personalização de tema
Seleção de cor do aplicativo criativo
Interfaces de usuário de aplicativos móveis e desktop
seletores de cores baseados na web
Principais recursos
Seleção de cor do disco circular
Escrito totalmente em Dart
Compatibilidade multiplataforma
Transição suave de cor
Interface do usuário personalizável
Integração fácil com o Flutter
Indicado para
designers de UI/UX
Desenvolvedores de aplicativos construindo ferramentas criativas
Aplicativos habilitados para tema
Projetos Flutter multiplataforma
Considerações
Limitado à seleção baseada em roda
Pode exigir estilos adicionais para branding
Não adequado para modelos de cor complexos como HSL ou HSV
README original
Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.
Flutter Color Picker Wheel
Flutter Color Picker Wheel is an easy-to-use widget that can be heavily customized.
You can use the WheelColorPicker directly by providing list of colors you want to include and animation configs.
You can use the WheelColorPickerEntryContent and manage OverlayEntry yourself.
This library provides some presets which make it even easier to use this component.
How to use
Add the dependency to your pubspec.yaml
flutter_color_picker_wheel:^0.0.1
Try it out
Currently this Storybook only works well on Web
TODO: [ ] Use another storybook to provide better preview for both web
and phone
https://flutter-color-picker-wheel.kexinlu.com
Showcase
Fan Default Preset
Fan Simple Preset
Sun Ray Default
Sun Ray Simple
Detached Full Screen without Gap
Detached Full Screen with Gap
Custom Color Set
Custom Animation
Manage Your Own OverlayEntry
Example Code
you can find more examples in the example path of this repository
Simple Usecase
import'package:flutter_color_picker_wheel/flutter_color_picker_wheel.dart';
Color color; /// you want to initialize this color in the initState methodWidget myButton = WheelColorPicker(
onSelect: (Color newColor) {
setState(() {
color = newColor;
});
},
/// long press to open, another behaviour is clickToOpen to open
behaviour: ButtonBehaviour.longPressToOpen,
/// inital color
defaultColor: color,
/// fanLikeAnimationConfig is a preset, you can import this from the package
animationConfig: fanLikeAnimationConfig,
/// simpleColors is a preset, you can import this from the package
colorList: simpleColors,
/// size of the clickable button in the middle
buttonSize: 40,
/// height of each piece (outerRadius - innerRadius of a piece)
pieceHeight: 25,
/// starting radius of the donut shaped wheel
innerRadius: 80,
);
If you decided to go this route there are several core ideas that you need to wrap your head around.
WheelOverlayEntryContent should be generated only ONCE but not generated each build. You can have a new OverlayEntry, but you only need one WheelOverlayEntryContent. This helps us to have a decent performance.
To stick the WheelOverlayEntryContent to some component, you want to use LayerLink.
See WheelColorPicker as an example
You need to provide AnimationController to the Widget, thus you want to extend some ticker provider, eg. SingleTickerProviderStateMixin