Hellom's Studio.

Hellom's Studio.

Valar Morghulis

flutter 之页面生命周期
StatelessWidget 只有 createElement 和 build 两个生命周期 所以重点了解下 StatefulWidget StatefulWidget 的生命周期方法按照时期不同可分为三组: 初始化时期createState 当构建一个新的 StatefulWidget 会立刻调用 并且这个方法必须被覆盖 123456e.g.class WidgetLifecycle extends StatefulWidget { @override _WidgetLifecycleState createState() => _WidgetLifecyc...
flutter 之如何打开第三方应用
Flutter 需要打开第三方应用 就需要使用插件 在 Dart Packages 里 搜索 url_launcher 插件 https://pub.dev/ 具体使用可参看官方实例: https://pub.dev/packages/url_launcher 以下是两个例子: 点击打开浏览器123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354e.g.import 'package:flutter/material.dart';impo...
flutter 之路由篇
布局练习的差不多 接下来就要学习路由啦 那么如何创建和使用路由和导航呢? 首先在 MaterialApp 注册 routes'ful' => 路由的名称 (BuildContext context) => StatefulGroup() => 路由指向的页面 12345678910111213141516171819202122232425e.g.// main.dartclass MyApp extends StatelessWidget { @override Widget build(BuildContext context) &#...
flutter 之布局篇
flutter 相关常用的布局组件有以下三大类: ContainerRenderObjectWidgetRenderObjectWidget 分为两类: SingleChildRenderObjectWidget 单节点 和 MultiChildRenderObjectWidget 多节点 SingleChildRenderObjectWidget 单节点Opacity:设置透明度123456789101112131415161718e.g.Padding( padding: EdgeInsets.all(10),//设置内边距 //剪裁为带圆角的方形 child: C...
Dart 学习之枚举和类型
枚举 枚举是一种有穷序列集的数据类型 使用关键字 enum 定义一个枚举 常用于代替常量,控制语句等 枚举能组装有固定数量的 以下为春夏秋冬为例的枚举: 12345678910111213141516171819202122e.g.void main() { var currentSeason = Season.winter; switch (currentSeason) { case Season.spring: print('1月 - 3月 '); break; case Season.summer: prin...
Dart 学习之面向对象编程 2
继承 使用关键字 extends 继承一个类 子类会继承父类可见的属性和方法 不会继承构造方法 子类能够复写父类的方法、 getter 和 setter 单继承 多态性 @override 表示覆写了父类里的方法 12345678910111213141516171819202122232425262728293031323334353637383940e.g.//person.dartclass Person { String name; int age; bool get isAdult => age > 18; String run() &#...
Dart 学习之面向对象编程1
类与对象 使用 class 声明一个类 使用关键字 new 创建一个对象 new可省略 所有对象都继承于 Object 类 属性与方法 属性会默认生成 getter 和 setter 方法 使用 final 声明的属性只有getter(只读) 属性和方法通过 . 访问 方法不能被重载 1234567891011121314151617181920212223e.g.void main() { var person = Person(); //属性和方法通过 `.` 访问 person.age = 20; person.name = 'Tom';}...
Dart 学习之方法
方法的定义12345678910111213e.g.//void 表示无返回类型void main(List args) { print(args); print(getPerson('张三', 13));}//String 表示 getPerson 返回值是字符串String getPerson(String name, int age) { return 'name= $name, age = $age';} 方法特性 方法也是对象 并且有具体类型 Function 返回值类型、参数类型都可省略 箭头语法:=> expr 是{...
基本数据类型 float 和 double 的区别
float 单精度浮点数 double 双精度浮点数 float 和 double 的区别有如下几点: 在内存中占有的字节数不同 单精度浮点数 在机内存占4个字节 双精度浮点数 在机内存占8个字节 有效数字位数不同 单精度浮点数 有效数字8位 双精度浮点数 有效数字16位 数值取值范围 单精度的范围:-3.40E+38 ~ 3.40E+38 双精度的范围:-1.79E+308 ~ 1.79E+308 在程序中处理速度不同 一般来说 CPU 处理单精度浮点数的速度比处理双精度浮点数快
Dart 学习之运算符
大部分的运算符操作都与 js 差不多 极个别的运算符 是 js 没有的 有针对性的学习 很快就能掌握 有语言基础的 学起来就更容易上手 dart 运算符分以下几类: 算术运算符 加减乘除:+、-、*、/、 ~/、% 递增递减:++var 、 var++、 --var 、 var-- a++ 先执行表达式后再自增,执行表达时使用的是 a 的原值 ++a 先自增再执行表达式,执行表达示时使用的是自增后的 a 123456e.g.int a = 10;print(a++); //输出10 执行完后 a = 11print(++a); //输出11 执行完后 a = 11 关系...
avatar
Hellom_m
witness me