首页 > 其他分享 >深入理解flutter的代码结构:组件

深入理解flutter的代码结构:组件

时间:2024-06-05 17:56:23浏览次数:10  
标签:const title 代码 class override extends context 组件 flutter

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: '顶部标题', // app切换时显示的标题
      theme: ThemeData(
        // app的主题
        colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
        useMaterial3: true,
      ),
      home: const MyHomePage(title: 'gowater'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});
  final String title;
  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  void _incrementCounter() {
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        // 屏幕顶部的应用程序栏,可以显示标题、操作按钮等
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        // 主要内容区域
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            const Text(
              '提示:',
            ),
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.headlineMedium,
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: const Icon(Icons.add),
      ),
    );
  }
}

 

标签:const,title,代码,class,override,extends,context,组件,flutter
From: https://www.cnblogs.com/xiongwei/p/18233502

相关文章

  • leveldb 代码阅读三
    options解读Options数据库设置压缩类型//数据库内容存储在一组块中,每个块包含一个键、值对序列。//在存储到文件中之前,可以压缩每个块。//下面的枚举描述用于压缩块的压缩方法(如果有)。enumCompressionType{ kNoCompression=0x0, kSnappyCompression=0x1}......
  • 深度学习高频手撕代码
    nmsdefcal_iou(bbox1,bbox2):#x1,y1,x2,y2#min_x-max_xinter_x=min(bbox1[2],bbox2[2])-max(bbox1[0],bbox2[0])#min_y-max_yinter_y=min(bbox1[3],bbox2[3])-max(bbox1[1],bbox2[1])ifinter_x<=0orinter_y<=0:......
  • 还在拼冗长的WhereIf吗?100行代码解放这个操作
    通常我们在做一些数据过滤的操作的时候,经常需要做一些判断再进行是否要对其进行条件过滤。普通做法最原始的做法我们是先通过If()判断是否需要进行数据过滤,然后再对数据源使用Where来过滤数据。示例如下:if(!string.IsNullOrWhiteSpace(str)){query=query.Where(a=>......
  • 七种方法让 Python 代码更容易维护
    随着软件项目进入“维护模式”,对可读性和编码标准的要求很容易落空(甚至从一开始就没有建立过那些标准)。然而,在代码库中保持一致的代码风格和测试标准能够显著减轻维护的压力,也能确保新的开发者能够快速了解项目的情况,同时能更好地全程保持应用程序的质量。使用外部库来检查代码的......
  • 代码随想录算法训练营第五天 | 哈希表基础、有效字母异位、两个数组交集、快乐数
    哈希表基础理论https://programmercarl.com/哈希表理论基础.html#哈希表242有效字母异位词题https://leetcode.cn/problems/valid-anagram/description/242代码随想录解析https://programmercarl.com/0242.有效的字母异位词.html#算法公开课349两个数组的交集https://leetc......
  • 代码随想录算法训练营第二十七天 | 39.组合总和
    39.组合总和题目链接文章讲解视频讲解classSolution{private:vector<int>combine;vector<vector<int>>result;intcount=0;public:vector<vector<int>>combinationSum(vector<int>&candidates,inttarget){......
  • 【JS】JavaScript编程语言-谷歌浏览器调试之前端代码(2024-06-05)
    1、在浏览器中调试调试是指在一个脚本中找出并修复错误的过程。所有的现代浏览器和大多数其他环境都支持调试工具——开发者工具中的一个令调试更加容易的特殊用户界面。它也可以让我们一步步地跟踪代码以查看当前实际运行情况。在这里我们将会使用Chrome(谷歌浏览器)。2......
  • 返回顶部按钮的组件
    目录1.封装2.调用3.效果1.封装<template><transition:name="transitionName"><divv-show="visible"class="back-to-ceiling"@click="backToTop"><svgwidth="16"height=&quo......
  • 【vuejs】keep-alive组件的原理讲解和使用讲解
    1.keep-alive简介Vue.js框架中的<keep-alive>组件是一个用于缓存组件实例的内置组件,它使得组件在不活动时保持其状态,从而提高应用的性能和用户体验。当使用动态组件<component>切换视图时,不在显示的组件实例会被销毁并重新创建,这会导致状态丢失。而<keep-alive>可......
  • DIYGW UniApp低代码可视化开发工具:构建移动应用的高效利器
    ​随着移动互联网的飞速发展,移动应用开发已成为当今技术领域的热点之一。然而,传统的移动应用开发方式需要编写大量的代码,这不仅提高了开发门槛,也延长了开发周期。为了解决这一问题,DIYGWUniApp低代码可视化开发工具应运而生,成为高效构建移动应用的利器。本文将详细介绍DIYGWUn......