import 'dart:math'; import 'package:flutter/material.dart'; void main() { runApp(const MyApp()); } class MyApp extends StatelessWidget { const MyApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( title: 'My Test App', debugShowCheckedModeBanner: false, theme: ThemeData( colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple), useMaterial3: true, ), home: const MyHomePage(title: 'My Test App'), ); } } class MyHomePage extends StatefulWidget { const MyHomePage({super.key, required this.title}); final String title; @override State createState() => _MyHomePageState(); } class _MyHomePageState extends State { int _counter = 0; Color _color = Colors.orangeAccent; Color _fcolor = Colors.black; void _incrementCounter() { setState(() { _counter++; _color = Color((Random().nextDouble() * 0xFFFFFF).toInt()).withOpacity(1); _fcolor = (_color.computeLuminance() <= 0.3) ? Colors.white : Colors.black; }); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( backgroundColor: _color, foregroundColor: _fcolor, title: Text(widget.title), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ const Text( 'You have pushed the button this many times:', ), Text( '$_counter', style: Theme.of(context).textTheme.headlineMedium, ), Visibility( visible: _counter > 10, child: Text( 'Why are you clicking?', style: Theme.of(context).textTheme.headlineMedium, ), ) ], ), ), floatingActionButton: FloatingActionButton( backgroundColor: _color, foregroundColor: _fcolor, onPressed: _incrementCounter, tooltip: 'Increment', child: const Icon(Icons.add), ), ); } }