Flutter 基础(一) 一文学习 Flutter 基础组件

一文学习 Flutter 基础组件

  • 详细内容都在注释上
  • 一切皆 Widget
  • StatelessWidget StateFulWidget 的区分
  • 一些基础组件的使用

一个基础学习内容

import 'package:flutter/material.dart';

//程序的入口函数和 Java 类似
void main() {
//  启动哪个 widget
  runApp(MyApp());
}

//Flutter 中一切都是 Widget 包括边距 手势 动画 路由 等等 一切皆 Widget
//StatelessWidget(无状态)  StateFulWidget (有状态 需要配合 State 使用 有生命周期)
class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // MaterialApp Material design 风格的 App
    return MaterialApp(
      title: 'My First Line',
      // Scaffold 一个 App 骨架
      home: Scaffold(
        // title 相当于 Android Toolbar
        appBar: AppBar(
          title: Text('My First Line'),
        ),
        body: Center(
          // RaisedButton 一个凸起的 button 还有 FlatButton FloatingActionButton 相当于 Android 中的 FAB
//          child: RaisedButton(
//              child: Text('click me'),
//              onPressed: () {
//                debugPrint('点击了按钮');
//                _showDialog(context);
//              }),
          child: MyRaisedButton(),
        ),
        floatingActionButton: FloatingActionButton(
          child: Text('FAB'),
          tooltip: "长按提示语",
          onPressed: null, //点击回调
        ),
      ),
    );
  }
}

// 以_下划线开头表示私有方法
void _showDialog(BuildContext context) {
  showDialog(
    context: context,
    builder: (context) {
      return AlertDialog(
        title: Text('提示'),
        content: Text('确定要好好学习 Flutter 吗?'),
      );
    },
    barrierDismissible: false,
  );
}

//自定义 RaisedButton  是因为 之前是无状态的 StatelessWidget 不能弹出对话框
class MyRaisedButton extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return MyRaisedButtonState();
  }
}

class MyRaisedButtonState extends State<MyRaisedButton> {
  @override
  Widget build(BuildContext context) {
    return RaisedButton(
        child: Text('click me'),
        onPressed: () {
          debugPrint('点击了按钮');
          _showDialog(context);
        });
  }
}

效果
在这里插入图片描述

源码地址

文章地址

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值