今までリストに色情報を格納して、ランダムなインデックスを計算して返す。みたいな無駄なことをやっていたんですが、下記コードでランダムな色を返してくれるみたいです。
コード
Color((Random().nextDouble() * 0xFFFFFF).toInt() << 0,).withOpacity(1.0)
サンプル
class _RandomColorState extends State<RandomColor> {
var randomColor = const Color(0xffffffff);
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: Center(
child: Text(
'Random',
style: TextStyle(
color: randomColor,
fontSize: 30,
fontWeight: FontWeight.bold,
),
),
),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
randomColor = Color(
(Random().nextDouble() * 0xFFFFFF).toInt() << 0,
).withOpacity(1.0);
});
},
),
);
}
}
以上です!
参考