生成随机颜色
return new RaisedButton(
padding: EdgeInsets.symmetric(vertical: 30.0),
color: Colors.primaries random List <blue,green>,发布于 2018-07-14 16:11:22
您可以使用Random类这样做:
但是,如果要在按下按钮时更改颜色,则必须使用StatefulWidget。下面是一个简单的例子:
import 'package:flutter/material.dart';
import 'dart:math';
void main() {
runApp(
MaterialApp(
home: MyApp(),
),
);
}
class MyApp extends StatefulWidget {
_MyAppState createState() => _MyAppState();
}
class _MyAppState extends State<MyApp> {
List colors = [Colors.red, Colors.green, Colors.yellow];
Random random = new Random();
int index = 0;
void changeIndex() {
setState(() => index = random.nextInt(3));
}
@override
Widget build(BuildContext context) {
return Center(
child: RaisedButton(
onPressed: () => changeIndex(),
child: Text('Click'),
color: colors[index],
),
);
}
}发布于 2018-10-04 03:28:40
这是我获得随机颜色的方法:
Color((math.Random().nextDouble() * 0xFFFFFF).toInt()).withOpacity(1.0)注:
这个进口是必需的。
import 'dart:math' as math;发布于 2019-07-15 07:12:59
在颜色类中有一个内置的材料颜色列表.你可以像下面这样使用它
var generatedColor = Random().nextInt(Colors.primaries.length)
Colors.primaries[generatedColor]示例
import 'dart:math';
Icon(
Icons.account_circle,
size: 40,
color: Colors.primaries[Random().nextInt(Colors.primaries.length)],
)以上是最简单和最快的方式,使您的名单的颜色随机。你不需要保留一个颜色列表。
https://stackoverflow.com/questions/51340588
复制相似问题