flutter - Flutter 加载 Widget 类颜色
问题描述
我再次回到这里,因为我使用颤振进行新编码,并且我在实验中学习。我想做的是制作一个全局加载小部件,可以调用它来显示具有指定颜色的加载小部件,并且想知道是否有人可以帮助我完成这个。
例如...
我更喜欢如何调用加载小部件:
LoadingWidget(Orange);
global_widgets.dart
import 'package:flutter/material.dart';
import 'package:myapp/res/colors.dart';
class LoadingWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(
// Replace following with specified Color like, CustomColors.'specifield_color'??
// CustomColors.[replace with specified color]
CustomColors.Orange,
),
);
}
}
class AppBarTitle extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
Image.asset(
'assets/logo.png',
height: 20,
),
SizedBox(width: 8),
Text(
'My',
style: TextStyle(
color: CustomColors.Navy,
fontSize: 18,
),
),
Text(
'App',
style: TextStyle(
color: CustomColors.Orange,
fontSize: 18,
),
),
],
);
}
}
colors.dart
import 'package:flutter/material.dart';
class CustomColors {
static final Color Navy = Color(0xFF2C384A);
static final Color Orange = Color(0xFFF57C00);
}
解决方案
customColor
将类型的变量添加Color
到LoadingWidget
class LoadingWidget extends StatelessWidget {
final Color customColor;
LoadingWidget(this.customColor);
@override
Widget build(BuildContext context) {
return CircularProgressIndicator(
valueColor: AlwaysStoppedAnimation<Color>(
customColor, // <--- // your specified color
),
);
}
}
现在您可以像这样调用小部件:LoadingWidget(CustomColors.Orange)
此要点包含工作代码,如果需要,您可以在 DartPad 上运行它。
推荐阅读
- sparql - 带有语言过滤器的 SPARQL 查询模板
- .net - MessageBox 仅在表单关闭后显示
- cordova - Apache Cordova `resolveLocalFileSystemURL` 函数总是返回错误 5 (ENCODING_ERR)
- android-studio - “您需要为您的 APK 或 Android App Bundle 使用不同的版本代码”无论设置什么版本代码
- c# - NLog 布局渲染器似乎在配置中不起作用
- r - 将嵌套 tibble 的所有列取消嵌套到 tibble 列表
- javascript - Vuejs中列表对象中文本的样式部分
- python - 如何防止程序等待接收来自客户端的消息?
- ruby - 如何将平面 Ruby 散列解析为嵌套散列?
- drupal - 在 drupalLogin() 上的 Drupal 8 功能测试失败