栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Flutter学习笔记之·一,有状态和无状态的Widget,AppBar,Body

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flutter学习笔记之·一,有状态和无状态的Widget,AppBar,Body

前言

阿三前端经常玩失踪。。。
NND跟我玩阴的是吧,,直接来。吧

创建flutter项目

flutter create flutter_demo01

运行项目到chrome
这个是运行到虚拟机,一旦页面关闭就要重新启动

flutter run -d chrome

运行项目到指定的端口
运行到指定服务端口

flutter run -d web-server --web-hostname 0.0.0.0 --web-port 8989

无状态就是静态参数。而有状态则是动态参数

无状态weiget

import 这个包以后
在mian之外输入stless ,自动联想创建无状态weiget

import 'package:flutter/material.dart';

main(){
  runApp(MyApp());

}
class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    // 必须要有一个MaterialApp
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: HomePage(), // 引入路由配置homepage为home
    ); // MaterialApp
  }
}
// 继续创建一个无状态HomePage
class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    // 每个页面使用Scaffold包裹
    return Scaffold(
      appBar: AppBar(
        title: Text("AppBar"),  // 设置AppBar的标题
        elevation: 10.0,  // 设置阴影
        centerTitle: true,  // 是否居中,不设置默认为false不居中
      ), // 创建一个AppBar
    );
  }
}

AppBar

有状态Weiget

顾名思义,就是有状态值的Weiget

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    // 必须要有一个MaterialApp
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: HomePage(), // 引入路由配置homepage为home
    ); // MaterialApp
  }
}

// 继续创建一个无状态HomePage
class HomePage extends StatelessWidget {
  const HomePage({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    // 每个页面使用Scaffold包裹
    return Scaffold(
      appBar: AppBar(
        title: Text("AppBar"), // 设置AppBar的标题
        elevation: 10.0, // 设置阴影
        centerTitle: true, // 是否居中,不设置默认为false不居中
      ), // 创建一个AppBar
      body: CountPage(), //创建一个Body指定一个有状态的Wegit
    );
  }
}

// 创建一个有状态的Wegit【CountPage】
class CountPage extends StatefulWidget {
  const CountPage({Key? key}) : super(key: key);

  // 生成了带State状态的
  @override
  _CountPageState createState() => _CountPageState();
}

class _CountPageState extends State {
  // 声明一个int变量
  int count = 0;

  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Text("$count"), // 引用变量
        RaisedButton(onPressed: () {
          // 创建一个按钮
          setState(() {
            count++;
          });
        },
          child: Text("点击自增"), // 增加按钮文字,层级位于按钮的()内
        )
      ],
    );
  }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/730807.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号