如何为 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,
)
)
我想制作一个外部飞镖文件(我们称之为 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,
)
)