"Fossies" - the Fresh Open Source Software Archive

Member "flutter-1.22.4/dev/integration_tests/android_splash_screens/splash_screen_kitchen_sink/lib/main.dart" (13 Nov 2020, 4559 Bytes) of package /linux/misc/flutter-1.22.4.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) Dart source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file.

    1 // Copyright 2014 The Flutter Authors. All rights reserved.
    2 // Use of this source code is governed by a BSD-style license that can be
    3 // found in the LICENSE file.
    4 
    5 import 'package:flutter/material.dart';
    6 
    7 void main() => runApp(MyApp());
    8 
    9 class MyApp extends StatelessWidget {
   10   // This widget is the root of your application.
   11   @override
   12   Widget build(BuildContext context) {
   13     return MaterialApp(
   14       title: 'Flutter Demo',
   15       theme: ThemeData(
   16         // This is the theme of your application.
   17         //
   18         // Try running your application with "flutter run". You'll see the
   19         // application has a blue toolbar. Then, without quitting the app, try
   20         // changing the primarySwatch below to Colors.green and then invoke
   21         // "hot reload" (press "r" in the console where you ran "flutter run",
   22         // or simply save your changes to "hot reload" in a Flutter IDE).
   23         // Notice that the counter didn't reset back to zero; the application
   24         // is not restarted.
   25         primarySwatch: Colors.blue,
   26       ),
   27       home: const MyHomePage(title: 'Flutter Demo Home Page'),
   28     );
   29   }
   30 }
   31 
   32 class MyHomePage extends StatefulWidget {
   33   const MyHomePage({Key key, this.title}) : super(key: key);
   34 
   35   // This widget is the home page of your application. It is stateful, meaning
   36   // that it has a State object (defined below) that contains fields that affect
   37   // how it looks.
   38 
   39   // This class is the configuration for the state. It holds the values (in this
   40   // case the title) provided by the parent (in this case the App widget) and
   41   // used by the build method of the State. Fields in a Widget subclass are
   42   // always marked "final".
   43 
   44   final String title;
   45 
   46   @override
   47   _MyHomePageState createState() => _MyHomePageState();
   48 }
   49 
   50 class _MyHomePageState extends State<MyHomePage> {
   51   int _counter = 0;
   52 
   53   void _incrementCounter() {
   54     setState(() {
   55       // This call to setState tells the Flutter framework that something has
   56       // changed in this State, which causes it to rerun the build method below
   57       // so that the display can reflect the updated values. If we changed
   58       // _counter without calling setState(), then the build method would not be
   59       // called again, and so nothing would appear to happen.
   60       _counter++;
   61     });
   62   }
   63 
   64   @override
   65   Widget build(BuildContext context) {
   66     // This method is rerun every time setState is called, for instance as done
   67     // by the _incrementCounter method above.
   68     //
   69     // The Flutter framework has been optimized to make rerunning build methods
   70     // fast, so that you can just rebuild anything that needs updating rather
   71     // than having to individually change instances of widgets.
   72     return Scaffold(
   73       appBar: AppBar(
   74         // Here we take the value from the MyHomePage object that was created by
   75         // the App.build method, and use it to set our appbar title.
   76         title: Text(widget.title),
   77       ),
   78       body: Center(
   79         // Center is a layout widget. It takes a single child and positions it
   80         // in the middle of the parent.
   81         child: Column(
   82           // Column is also layout widget. It takes a list of children and
   83           // arranges them vertically. By default, it sizes itself to fit its
   84           // children horizontally, and tries to be as tall as its parent.
   85           //
   86           // Invoke "debug painting" (press "p" in the console, choose the
   87           // "Toggle Debug Paint" action from the Flutter Inspector in Android
   88           // Studio, or the "Toggle Debug Paint" command in Visual Studio Code)
   89           // to see the wireframe for each widget.
   90           //
   91           // Column has various properties to control how it sizes itself and
   92           // how it positions its children. Here we use mainAxisAlignment to
   93           // center the children vertically; the main axis here is the vertical
   94           // axis because Columns are vertical (the cross axis would be
   95           // horizontal).
   96           mainAxisAlignment: MainAxisAlignment.center,
   97           children: <Widget>[
   98             const Text(
   99               'You have pushed the button this many times:',
  100             ),
  101             Text(
  102               '$_counter',
  103               style: Theme.of(context).textTheme.headline4,
  104             ),
  105           ],
  106         ),
  107       ),
  108       floatingActionButton: FloatingActionButton(
  109         onPressed: _incrementCounter,
  110         tooltip: 'Increment',
  111         child: const Icon(Icons.add),
  112       ), // This trailing comma makes auto-formatting nicer for build methods.
  113     );
  114   }
  115 }