import 'package:flutter/material.dart';

void main() {
  runApp(new MaterialApp(
    debugShowCheckedModeBanner: false,
    home: new MyHome(),
    // Set the theme's primary color, accent color,
    theme: new ThemeData(
      primarySwatch: Colors.green,
      accentColor: Colors.lightGreenAccent,
      // Set background color
      backgroundColor: Colors.black12,
    ),
  ));
}

class MyHome extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      // AppBar
      appBar: new AppBar(
        // AppBar Title
        title: new Text("Using Theme"),
      ),
      body: new Container(
        // Another way to set the background color
        decoration: new BoxDecoration(color: Colors.black87),
        child: new Center(
          child: new Container(
            // use the theme accent color as background color for this widget
            color: Theme.of(context).accentColor,
            child: new Text(
              'Hello World!',
              // Set text style as per theme
              style: Theme.of(context).textTheme.title,
            ),
          ),
        ),
      ),

      floatingActionButton: new Theme(
        // override the accent color of theme for this widget only
        data: Theme.of(context).copyWith(accentColor: Colors.pinkAccent),
        child: new FloatingActionButton(
          onPressed: null,
          child: new Icon(Icons.add),
        ),
      ),
    );
  }
}
