其他分享
首页 > 其他分享> > [flutter-11] StatefulWidget-Counter

[flutter-11] StatefulWidget-Counter

作者:互联网

1. StatefulWidget-Counter

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: HomeWidget(),
      theme: ThemeData.dark(),
    );
  }
}

class HomeWidget extends StatefulWidget {
  @override
  _HomeState createState() => _HomeState();
}

class _HomeState extends State<HomeWidget> {
  var _counter = 0;
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('首页'),
      ),
      body: ContentfulWidget(this._counter),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'incrementCount',
        child: Icon(Icons.add), // 添加系统图片
      ),
    );
  }

  // 回调函数
  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }
}

// ContentlessWidget

class ContentlessWidget extends StatelessWidget {
  final int counter;
  //ContentWidget1({Key key, this.counter}) : super(key: key);
  ContentlessWidget(this.counter);

  @override
  Widget build(BuildContext context) {
    return Center(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Text(
            'You have pushed the button this many times:',
            style: TextStyle(fontSize: 15),
          ),
          Text(
            '$counter',
            style: TextStyle(fontSize: 40),
          ),
        ],
      ),
    );
  }
}

// ContentfulWidget

class ContentfulWidget extends StatefulWidget {
  @override
  _ContentState createState() => _ContentState();
  ContentfulWidget(this.counter);
  final int counter;
}

class _ContentState extends State<ContentfulWidget> {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: [
          Text(
            'You have pushed the button this many times:',
            style: TextStyle(fontSize: 15),
          ),
          Text(
            '${widget.counter}',
            style: TextStyle(fontSize: 40),
          ),
        ],
      ),
    );
  }
}

标签:11,StatefulWidget,counter,Text,Counter,extends,override,class
来源: https://www.cnblogs.com/comefromchina/p/flutter-StatefulWidget-Counter.html