flutter text 左对齐_Flutter从入门到项目 03: Flutter初体验

0f5c3ff1936db231e582b1c29b36530e.png

Flutter-从入门到项目

03:fultter初体验 108b1c97c046618d4cd549d9eeadb403.png 40df6e2185071538c24f819fca2ad04c.gif2021年,你好 edfb87555839ac1b5cfe3838a51c6144.png一、创建一个Flutter 工程 edfb87555839ac1b5cfe3838a51c6144.png 946aee6513101f0acba89dabe5ea4379.png 21dc5ae777d31777a03bf8e93e1a7890.png下面我们通过 Android Studio 安装的 Flutter插件 创建 Flutter 工程

Android Studio 主界面 -> Create Flutter Project

ae51ff087dea19062d86ca3d9a4ff274.png 608736d589dc99428b88fc6c157597b1.png欢庆双节 e0eda6a8e1335caa1c59ccfbb4f43df4.png

说明: ?上面截图的四个功能

  • Flutter Application : 创建一个 Flutter 应用工程

  • Flutter plugin : 这是为了给 Android 和 iOS 提供插件应用(暴露的借口)的时候使用

  • Flutter Package : 创建一个 Dart组件 发布到 pub 来提供便捷开发 类似一些三方库

  • Flutter Module : 一般用来做混合开发,嵌入到 Android 和 iOS 工程当中!

创建完毕我们就可以初体验运行一下 感受一下 Flutter 经典默认页面

424dbfd8616792c953ce2fab506d6c9e.png 608736d589dc99428b88fc6c157597b1.png欢庆双节 e0eda6a8e1335caa1c59ccfbb4f43df4.png edfb87555839ac1b5cfe3838a51c6144.png二、Flutter 声明式语法 edfb87555839ac1b5cfe3838a51c6144.png 946aee6513101f0acba89dabe5ea4379.png 21dc5ae777d31777a03bf8e93e1a7890.png
  • 命令式编程:命令“机器”如何去做事情(how),这样不管你想要的是什么(what),它都会按照你的命令实现。

  • 声明式编程:告诉“机器”你想要的是什么(what),让机器想出如何去做(how)。

可能你这里通过这个还是无法明白什么是 命令式编程 什么是 声明式编程 我们以一个视图UI 做为?说明一下

首先我们看看 命令式编程 的代表 : Object-C

    UIView *view = [[UIView alloc] init];    view.frame   = self.view.bounds;    view.backgroundColor = [UIColor orangeColor];

我们要告诉“机器”: view的布局是 self.view.bounds view的背景色是 orangeColor 如果需要改变视图,你通常需要使用选择器 findViewById 或类似函数获取到 ViewB 的实例 view 和所有权,并调用相关的修改的方法(并隐式的使其失效)

   view.backgroundColor = [UIColor blueColor];

由于 UI 真实的来源可能比实例 view 本身的存活周期更长,你可能还需要在 view 的构造函数中复制此配置

在声明式风格中,视图配置(如 Flutter 的 Widget )是不可变的,它只是轻量的“蓝图”。要改变 UIwidget 会在自身上触发重建(在 Flutter 中最常见的方法是在 StatefulWidgets 组件上调用 setState())并构造一个新的 Widget 子树

// Declarative stylereturn ViewB(  color: red,  child: ViewC(...),)

很明显两个模式侧重的点是完全不一样的! 如果还有不太理解的, 不妨都看两遍就会有感觉了!!!

edfb87555839ac1b5cfe3838a51c6144.png三、Flutter 工程初体验 edfb87555839ac1b5cfe3838a51c6144.png 946aee6513101f0acba89dabe5ea4379.png 21dc5ae777d31777a03bf8e93e1a7890.png对上面声明式语法有一定的理解之后,我们开始玩玩代码,首先默认工程你可能看懂代码,但是只是一层粗略的看,现在我们学习,不防一点一点来! 先干掉整个程序一些代码,留下?

接下来我们开始编写一个简单的代码

48b6928996cbe662422ae76c8551b5ba.png

?① flutter 文本组件体验?
// 导入系统包 : 作用类似 #import import 'package:flutter/material.dart';// 程序运行的 main 函数 (入口0void main() {  // 应用程序运行的函数 类比: UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));  // 因为在 Flutter 世界里面 都是各种部件  // 这里我们简单使用一下 Center 来写一个 文本  runApp(Center(      child: Text(    '和谐学习,不急不躁', // 文本    textDirection: TextDirection.ltr, // 对齐方式    style: TextStyle(      fontSize: 40.0, // 字体大小      color: Colors.red, // 红色字体      fontWeight: FontWeight.w400, // 字体的粗细    ),  )));}

是不是感觉很清爽, Flutter 本身在编写代码还是比较轻松的, 毕竟有没有发现这样的语法结构越来越趋于 大前端一统...

?② flutter 导航栏体验?
class KCBar extends StatelessWidget {  @override  Widget build(BuildContext context) {    return MaterialApp(      debugShowCheckedModeBanner: false,      home: Scaffold( // 类似 nav        appBar: AppBar( // 导航栏          title: Text('KCFlutterBar',style: TextStyle(color: Colors.white),),        ),        body: KCWidget(),        floatingActionButton: FloatingActionButton(),        floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,        floatingActionButtonAnimator: FloatingActionButtonAnimator.scaling,      ),      theme: ThemeData(        primaryColor: Colors.orange      ),    );  }}

下面我们看看显示的效果,还是比较 OK!

聪明的你们估计写到你就会发现 编码还是有点不太适应. 我这里给大家推荐几个快捷键,方便大家快速优美编程

  • Command + o : 全局搜索

  • command + option + l : 格式化代码

  • command + l : 注释代码

  • command + - : 折叠和展开代码

  • command + [ : 代码返回

  • command + ] : 代码前进

  • cmd + C / cmd + delete : 删除行

  • ctr + alt + I: 自动缩进对齐

  • opt + sft + up/down : 上下移动代码

  • ctrl + tab: 切换文件

  • shift + command + enter : 行尾自动添加分号,if后面自动加“(){ }”

  • cmd + N : 快速生成getter/setter方法,构造方法,toString()方法等

  • cmd + J : 快速生成模版代码块,如if,while,return

  • opt + cmd + T : Surround with快速调出if,for,try…catch,while等环绕代码

  • opt + ctr + o: 删除未使用的import

  • option + enter: 自动导入用到的包

  • stless: 创建新的 StatelessWidget

  • stful: 创建新的 StatefulWidget

?③ flutter listView 列表界面?
class KCListView extends StatelessWidget {  Widget _itemForRow(BuildContext context, int index) {    return Container(      color: Colors.white,      margin: EdgeInsets.fromLTRB(10, 10, 10, 10),      child: Column(        children: [          Image.network(carDatas[index].imageUrl),          SizedBox(height: 10),          Text(            carDatas[index].name,            style: TextStyle(                fontSize: 18.0,                fontWeight: FontWeight.w800,                fontStyle: FontStyle.values[1]),          ),          SizedBox(height: 10),        ],      ),    );  }  @override  Widget build(BuildContext context) {    return ListView.builder(      itemBuilder: _itemForRow,      itemCount: carDatas.length,    );  }}

通过导航栏样式加载列表结构, 从而加载数据其实如果你跟着写到这里应该很容易可以感受到声明式语法的魅力! 只有你掌握这种写法 再加上以前对UI布局的理解就很容易写出应用 (⚠️ 弹性盒子布局 Flex ⚠️)

8d0eab85744ff892a247620ff4797039.png

608736d589dc99428b88fc6c157597b1.png欢庆双节

这里就只贴出一些需要感受的代码 如果你也对着敲一敲代码,可以移步到 github: Flutter专栏代码 这里面记录整个专栏的代码 一直保持更新 喜欢的可以点赞?收藏

edfb87555839ac1b5cfe3838a51c6144.png四、总结 edfb87555839ac1b5cfe3838a51c6144.png 946aee6513101f0acba89dabe5ea4379.png 21dc5ae777d31777a03bf8e93e1a7890.png

这一篇关于 Flutter 的初体验可能因为你还只是一个 Flutter小白 感受不强,但是没有关系 多敲敲就有感受了,这个东西真心的敲得越多越有感受,最好敲出肌肉记忆!

Flutter 的代码的简洁性还是很强的.

你会慢慢爱上敲 Flutter代码的!

来吧! 我们一起敲Flutter : github: Flutter?

网址:https://github.com/LGCooci/KCFlutter

下一篇开始我们会切入到 Flutter细节! 点赞收藏不迷路哦

ef83ec7ada687a42ff612a6ac25a3011.png扫码 5fa8e59362bdb269c5c514a5914898f7.gif关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值