Search code examples
flutterbloccolor-picker

How to Insert The Color Picker Without Using Show Dialog In Flutter


i just want to insert the color picker without using show dialog and setState because im using bloc provider. and i dont know how to call a color picker

Container(
              width: 300,
              margin: const EdgeInsets.fromLTRB(0, 20, 0, 0),
              child: Column(
                mainAxisAlignment: MainAxisAlignment.start,
                children: const [
                  Text (
                    'LED Color',
                    style:TextStyle(
                      fontSize: 25,
                    ),
                  ),
                  SingleChildScrollView(
                    child: ColorPicker(
                      pickerColor : pickerColor,
                      onColorChange: changeColor,
                    ),
                  )
                  // SingleChildScrollView(
                  //     child: ColorPicker(
                  //       pickerColor: pickerColor,
                  //       onColorChange: changeColor
                  //     )),
                ],
              ),
            ),

Solution

  • ColorPicker is a widget place on any place. It is not mandatory to place on dialog.

    class ASDXf extends StatefulWidget {
      const ASDXf({Key? key}) : super(key: key);
    
      @override
      State<ASDXf> createState() => _ASDXfState();
    }
    
    class _ASDXfState extends State<ASDXf> {
      Color selectedColor = Colors.purple;
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: Container(
            width: 300,
            margin: const EdgeInsets.fromLTRB(0, 20, 0, 0),
            child: Column(
              mainAxisAlignment: MainAxisAlignment.start,
              children: [
                Container(
                  height: 100,
                  width: 100,
                  color: selectedColor,
                ),
                const Text(
                  'LED Color',
                  style: TextStyle(
                    fontSize: 25,
                  ),
                ),
                SingleChildScrollView(
                  child: ColorPicker(
                    pickerColor: selectedColor,
                    onColorChanged: (value) {
                      selectedColor = value;
                      setState(() {});
                    },
                  ),
                ),
              ],
            ),
          ),
        );
      }
    }