#flutter #object #colors #tree
Вопрос:
Новичок в Flutter и пытаюсь включить дерево, которое я использовал для цветов на веб-сайте, в качестве полезных цветов в Flutter. До сих пор мне удавалось создавать собственные цвета, но только путем их индивидуального объявления.
class AppColors {
final boo = const Color.fromRGBO(0, 32, 255, 1);
const AppColors();
}
class AppTheme {
static const colors = AppColors();
}
Это я использую в приложении через AppTheme.colors.boo
Что я хочу сделать, так это использовать всю мою цветовую схему в качестве дерева, с помощью которого я могу выбрать любой цвет, который я хочу, из схемы. Вот базовый репозиторий в JSON (я не собираюсь конвертировать из json, просто понимаю, как это сделать в Flutter (очень новый, но хорошо понимаю JS)).
{
"background": {
"solid": {
"light": "255, 255 ,255, 1",
"dark": "0, 0 ,0, 1"
},
"light": {
"primary": "255, 255, 255, 0.84",
"secondary": "240, 240, 248, 0.84",
"tertiary": "224, 224, 232, 0.84"
},
"dark": {
"primary": "0, 0, 0, 0.84",
"secondary": "32, 32, 40, 0.84",
"tertiary": "64, 64, 72, 0.84"
}
},
…
Затем, чтобы иметь возможность использовать их в моем приложении, AppTheme.colors.background.solid
например.
Я ценю, что это довольно фундаментальные проблемы, с которыми я сталкиваюсь, но это мой способ обучения.
Один из способов, который я нашел, заключается в следующем:
class AppColors {
final backgroundSolid = const Color.fromRGBO(255, 255, 255, 1);
final backgroundPrimary = const Color.fromRGBO(255, 255, 255, 0.84);
final backgroundSecondary = const Color.fromRGBO(240, 240, 248, 0.84);
final backgroundTertiary = const Color.fromRGBO(224, 224, 232, 0.84);
const AppColors();
}
class AppTheme {
static const colors = AppColors();
}
Является ли это разумным подходом?
Комментарии:
1. Вы можете посмотреть (Документ с темой flutter)[ flutter.dev/документы/кулинарная книга/дизайн/темы] , чтобы узнать, как вы можете настроить цвета для всего приложения и использовать их с Theme.of(контекст).
2. Кроме того, вы можете посмотреть на шаблоны дизайна материалов, чтобы увидеть, как Flutter использует цвета и другие тематические конфигурации через приложение
3. Спасибо. Я взглянул, но я эффективно пытаюсь дать пользовательские ключи для своих цветов, которые, судя по тому, что я вижу, кажутся невозможными с помощью этого средства.
4. @GuilhermeGabanelli Было бы это плохим способом сделать это: расширение цветов приложений на купертинотематических данных { Color get BackgroundSolid { return Color.fromRGBO(255, 255, 255, 1); } ….
5. Или, скорее: (уточняющий вопрос)