如何为 Flutter 应用程序制作可自定义的颜色菜单?

How to make a customizable color menu for flutter app?

我想制作一个外部飞镖文件(我们称之为 color_palette.dart),它有一些 类 的颜色。这些 类 可以通过应用程序另一页上的菜单进行更改。这些颜色将在所有页面中用于定义 Appbar、按钮、图标等的颜色... 我不想为此使用 theme() 。 我想使用一些可以在按钮中使用的功能(onPress:功能)来改变颜色。

这是一个例子:

color_palette.dart

class myColor {
return Colors.red;
}

mainpage.dart

Scaffold(
appbar : AppBar(
  color : MyColor(),
  )
)

有很多方法可以做到这一点:

第一种方法:

// in the file where you define constants
import 'package:flutter/material.dart'; 
const Color color_red = Colors.red;

// in the file where you want to use it
Scaffold(
appbar : AppBar(
  color : color_red,
  )
)

第二种方法,使用颜色class。

class Palette {
  static const Color color_red = Colors.red;
}

//in the file where you want to use it:

import "package:app_name/folder_name/palette.dart";
Scaffold(
appbar : AppBar(
  color : Palette.color_red,
  )
)

很容易做到

    void main() {
      
      //change color A from red to purple
      MyColors.colorA = Colors.purple;
          
    }
    
    class MyColors {
      static Color colorA = Colors.red;
      static Color colorB = Colors.green;
      static Color colorC = Colors.blue;
    }

Scaffold(
appbar : AppBar(
  color : MyColors.colorA,
  )
)