dart
文章平均质量分 89
何小有
不会编程的测试不是好玩家!
展开
-
Dart入门—库、泛型与异常
Dart入门—库、泛型与异常库Pub仓库在Pub上可以下载到支持各种功能的包,首页在根目录下建立pubspec.yaml文件name: test_appdependencies: sqljocky: ^0.14.1name是包的名称,dependencies是需要依赖的包名,上面的sqljocky是用来连接MySQL的。执行pub get命令下载相关依赖包 执行完毕后,在根目录下会产生多原创 2016-05-24 16:13:45 · 9971 阅读 · 1 评论 -
Dart入门—集合类型
Dart入门—集合类型Dart核心库提供了List(列表)、Map(映射)、Set(集)三种集合类型列表(List)固定长度的列表,一旦定义就无法改变长度 List<int> fixedLengthList = new List(5); fixedLengthList[0] = 87; print(fixedLengthList); print(fixedLengthL原创 2016-05-11 14:09:38 · 20197 阅读 · 3 评论 -
Dart入门—基础类型与正则
基础数据类型与正则数字与布尔值数字类型与布尔类型与其他语言是一样一样的部分属性 int figureA = -93; // figureA是否为负数 print(figureA.isNegative); // figureA是否是有限的 print(figureA.isFinite); // figureA是否正无穷大或负无穷大 print(fi原创 2016-05-04 00:42:37 · 22174 阅读 · 0 评论 -
Dart入门—类与方法
Dart入门—类与方法实例变量声明实例变量时,所有未初始化的实例变量的值为nullvoid main(){ var point = new Point(); point.x = 4; print(point.x); print(point.y);}class Point { int x; // null int y; // nul原创 2016-05-28 15:37:27 · 19472 阅读 · 3 评论 -
Dart入门—控制流程与其他
Dart入门—控制流程与其他控制流程if~elseif语句和可选的else语句,简单的if语句可以用条件运算符( ? : )来处理if (isRaining()) { you.bringRainCoat();} else if (isSnowing()) { you.wearJacket();} else { car.putTopDown();}for使用for循环进行原创 2016-05-28 16:24:38 · 5460 阅读 · 1 评论 -
DartWeb基础—简单入门
DartWeb基础—简单入门DartWeb的前面是Dart,所以需要先搭建好Dart开发环境,再进行下面的工作下载Dartium浏览器Dartium是Chromium的一个特殊的版本,里面包含Dart VM,使用Dartium意味着你不必将代码编译为JavaScript就能调试程序,直到开发完成后再将代码编译为JavaScript测试其他浏览器Dartium下载地址—传送门为以后方便开发,可以建立一原创 2016-05-29 18:00:49 · 14167 阅读 · 1 评论 -
Dart入门—开发环境
Dart入门—开发环境 在正文开始前,希望大家能看一下这段,我第一次听说Dart是在去年5月份,那段时间工作比较闲,在网上看到《Google 演示用 Dart 开发 Android 应用》,然后就开始去了解,而且认识了很多朋友,其中就有“河马”,他说:“Dart所有的资料都是英文的,我们需要建立一个中文社区,让更多人了解、学习它”。 后来他真的就建立了DartLang中文社区,我当时就原创 2016-04-23 01:28:05 · 16381 阅读 · 2 评论 -
Dart入门—函数与运算符
Dart入门—函数与运算符函数基本语法void main(){ printNameA("XiaoMing"); printNameB("XiaoMing"); printNameC("XiaoMing");}// 规范语法void printNameA(String name){ print("My name is $name.");}// 通俗语法print原创 2016-05-18 17:13:09 · 6693 阅读 · 0 评论 -
Flutter基础—手势处理
大部分应用程序都需要与用户进行交互,构建交互式应用程序的第一步是检测用户输入的手势,通过创建一个简单的按钮来演示:import 'package:flutter/material.dart';void main() { runApp(new MaterialApp( title: 'Flutter教程', home: new MyButton(), ));}c...原创 2016-11-03 11:15:09 · 10254 阅读 · 3 评论 -
Flutter基础—根据用户输入改变控件
之前使用的都是无状态控件,无状态控件从父控件接收参数,以final成员变量存储。当一个控件被build时,它使用这些存储的值作为创建控件的参数。为了构建更友好的体验,比如以更有趣的方式对用户的输入做出响应,应用程序通常会有一些状态。Flutter使用StatefulWidgets实现这个想法。StatefulWidgets能够生成有状态对象的控件,然后用来保持状态。import 'package:f原创 2016-11-07 11:24:58 · 7333 阅读 · 1 评论 -
Flutter基础—常用控件之文本
Text控件即容器,是一个常用的控件,下面的实例有7个不同样式的文本控件:import 'package:flutter/material.dart';class ContainerDemo extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold(原创 2016-11-16 18:48:55 · 6994 阅读 · 5 评论 -
Flutter基础—质感设计
Material Design,中文名:质感设计,是由Google推出的全新设计语言,旨在为手机、平板电脑、台式机和其他平台提供更一致、更广泛的外观和感觉。从2014年开始,Android到衍生的Android Wear、Auto和TV,Material Design贯穿其中,成为勾通不同平台、设备的灵魂,让用户在不同平台上也有连贯的体验。为了维护这种一致,Google不允许第三方修改Android原创 2016-11-01 19:42:04 · 7666 阅读 · 1 评论 -
Flutter基础—布局模型之水平垂直
水平布局Row控件即水平布局控件,能够将子控件水平排列。Row子控件有灵活与不灵活的两种,Row首先列出不灵活的子控件,减去它们的总宽度,计算还有多少可用的空间。然后Row按照Flexible.flex属性确定的比例在可用空间中列出灵活的子控件。要控制灵活子控件,需要使用Flexible控件:import 'package:flutter/material.dart';class LayoutDe原创 2016-11-18 16:51:40 · 4551 阅读 · 11 评论 -
Flutter基础—定位对齐之对齐
Align控件即对齐控件,能将子控件所指定方式对齐,并根据子控件的大小调整自己的大小。对齐子控件的方式:bottomCenter (0.5, 1.0) 底部中心bottomLeft (0.0, 1.0) 左下角bottomRight (1.0, 1.0) 右下角center (0.5, 0.5) 水平垂直居中centerLeft (0.0原创 2016-12-11 19:16:10 · 22912 阅读 · 2 评论 -
Flutter基础—定位对齐之填充
Padding控件即填充控件,能给子控件插入给定的填充。import 'package:flutter/material.dart';class LayoutDemo extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar:原创 2016-12-11 19:42:21 · 4506 阅读 · 0 评论 -
Flutter基础—布局模型之层叠定位
Stack即层叠布局控件,能够将子控件层叠排列。Stack控件的每一个子控件都是定位或不定位,定位的子控件是被Positioned控件包裹的。Stack控件本身包含所有不定位的子控件,其根据alignment定位(默认为左上角)。然后根据定位的子控件的top、right、bottom和left属性将它们放置在Stack控件上。import 'package:flutter/material.dart原创 2016-11-21 11:35:46 · 12451 阅读 · 2 评论 -
Flutter基础—定位对齐之中心定位
Center既中心定位控件,能够将子控件放在其内部中心。import 'package:flutter/material.dart';class LayoutDemo extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar:原创 2016-12-09 11:32:33 · 5990 阅读 · 0 评论 -
Flutter基础—绘画效果之装饰容器
DecoratedBox控件会在子控件绘制之前或之后绘制一个装饰。import 'package:flutter/material.dart';class LayoutDemo extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( app原创 2016-12-22 18:13:55 · 3283 阅读 · 0 评论 -
Flutter基础—绘画效果之不透明度
Opacity控件能调整子控件的不透明度,使子控件部分透明,不透明度的量从0.0到1.1之间,0.0表示完全透明,1.1表示完全不透明。import 'package:flutter/material.dart';class LayoutDemo extends StatelessWidget { @override Widget build(BuildContext context) {原创 2016-12-23 16:30:35 · 6813 阅读 · 2 评论 -
Flutter进阶—质感设计之弹出菜单
PopupMenuButton控件即弹出菜单控件,点击控件会出现菜单。import 'package:flutter/material.dart';class MenusDemo extends StatefulWidget { @override _MenusDemoState createState() => new _MenusDemoState();}class _MenusD原创 2016-12-27 18:37:49 · 9658 阅读 · 0 评论 -
Flutter基础—定位对齐之大小比例
SizedBox控件能强制子控件具有特定宽度、高度或两者都有import 'package:flutter/material.dart';class LayoutDemo extends StatelessWidget { @override Widget build(BuildContext context) { return new Scaffold( appBar原创 2016-12-20 20:11:50 · 8367 阅读 · 4 评论 -
Flutter基础—布局模型之滚动块
Block即滚动块控件,能将子控件组成可滚动的列表。当你需要排列的子控件超出容器大小,就需要用到滚动块。import 'package:flutter/material.dart';class LayoutDemo extends StatelessWidget { @override Widget build(BuildContext context) { return new原创 2016-11-30 10:52:34 · 8503 阅读 · 1 评论 -
Flutter进阶—质感设计之底部导航
BottomNavigationBar即底部导航栏控件。显示在应用底部的质感设计控件,用于在少量视图中切换。底部导航栏包含多个以标签、图标或两者搭配的形式显示在项目底部的项目,提供了应用程序的顶级视图之间的快速导航。对于较大的屏幕,侧面导航可能更好。创建navigation_icon_view.dart文件,定义一个NavigationIconView类,用于管理BottomNavigationBa原创 2017-01-06 15:25:06 · 11215 阅读 · 11 评论 -
Flutter进阶—网络与本地异步加载资源
通过网络加载JSON文件的实例import 'dart:convert';import 'package:flutter/material.dart';import 'package:http/http.dart' as http;void _networkLoading() { // 将给定标头的HTTP GET请求发送到给定的URL,并注册回调,参数为HTTP响应 htt...原创 2017-01-18 16:03:37 · 7972 阅读 · 1 评论 -
Flutter进阶—质感设计之进度条
LinearProgressIndicator控件是质感设计中的线性进度指示器。import 'package:flutter/material.dart';class ActionViewEcology extends StatelessWidget { /* * 构建函数,传递参数 * 最大能量值 * 最大饥饿值 * 最大情绪值 * 当前能量值原创 2017-01-23 18:02:10 · 8116 阅读 · 0 评论 -
Flutter进阶—质感设计之标签栏
在质感设计的控件中,有一个显示水平的一行选项卡,通常作为AppBar控件的一部分创建,并与TabBarView控件结合使用。import 'package:flutter/material.dart';/* * 枚举类,标签演示样式 * 图标和文本 * 仅图标 * 仅文本 */enum TabsDemoStyle { iconsAndText, iconsOnly,原创 2017-01-24 18:39:06 · 5141 阅读 · 6 评论 -
Flutter进阶—使用自定义字体
Android系统和IOS系统只有默认的几种字体,在大部分情况下是足够使用,但是在一些特殊的情况下,我们可能需要使用各种奇奇怪怪的自定义字体,下面就是这样一个例子。import 'package:flutter/material.dart';class ImageDemo extends StatelessWidget { @override Widget build(BuildContex原创 2017-03-17 15:29:11 · 7948 阅读 · 3 评论 -
Flutter进阶—质感设计之持久底部面板
持久性底部面板可以用于补充应用主要内容的信息,即使用户与应用程序的其他控件进行互动,也仍然可以看到持久的底部面板。可以使用Scaffold.showBottomSheet函数创建和显示持久性底部面板。import 'package:flutter/material.dart';class MyApp extends StatefulWidget { @override _MyApp crea原创 2017-03-06 16:39:33 · 5955 阅读 · 0 评论 -
Flutter进阶—质感设计之表单输入
FormField控件是单一表单字段,这个控件维护表单字段的当前状态,以便更新和验证错误能在UI中可见。TextField控件就是在FormField中包装了一个Input控件(后面的文章讲解),FormField维护输入的当前值,使您不需要自己管理它,更容易一次保存,重置或验证多个字段。import 'package:flutter/material.dart';class MyApp exten原创 2017-03-10 15:18:32 · 9796 阅读 · 3 评论 -
Flutter进阶—质感设计之模态底部面板
模态底部面板是菜单或对话框的替代方案,可防止用户与其他控件进行互动,可以使用showModalBottomSheet函数创建和显示模态底部面板。import 'package:flutter/material.dart';class MyApp extends StatelessWidget { @override Widget build(BuildContext context) {原创 2017-03-07 22:59:08 · 5807 阅读 · 0 评论 -
Flutter进阶—质感设计之直接输入
Input控件是质感设计的文本输入控件,它在用户每次输入时都会调用onChanged回调时,都会更新字段值,还可以实时的对用户输入进行响应。import 'package:flutter/material.dart';class MyApp extends StatefulWidget { @override _MyApp createState() => new _MyApp();}cl原创 2017-03-11 23:59:13 · 4952 阅读 · 2 评论 -
Flutter基础—常用控件之图片
Image控件即图片控件,是显示图像的控件,Image控件有多种构造函数:new Image,用于从ImageProvider获取图像。new Image.asset,用于使用key从AssetBundle获取图像。new Image.network,用于从URL地址获取图像。new Image.file,用于从File获取图像。为了自动执行像素密度感知资源分辨率,使用AssetImage原创 2016-11-17 18:31:21 · 20172 阅读 · 7 评论 -
Flutter进阶—通用布局控件
Flutter有一个丰富的布局控件库,但我们只学习最常用的一些,目的是使你可以尽快开始开发,而不是按步就班的学习完整的课程。控件分为两类:控件库(Widgets Library)中的标准控件和质感设计库(Material Library)中的专用控件。任何应用程序都可以使用控件库(Widgets Library),但只有质感设计应用程序可以使用质感设计库(Material Library)。标准控件原创 2017-04-28 10:03:16 · 16890 阅读 · 1 评论 -
Flutter进阶—铅刀一割
作者有话说: 作者在现实中的工作只是测试工程师,没有任何实际的开发经验,只是平常爱好研究各种各样的语言。当看到自己所写的文章被那么多人浏览,内心是十分的诚惶诚恐,但也使自己有了深入研究和学习的动力,所以真的非常感谢你们!前段时间在网上看到有一个简单的小游戏,叫《生活模拟器》,是一个文字游戏,很简单,但无聊的时候玩玩还挺有意思的,就自己模仿着做了一个Flutter实例,这里就不介绍这个游戏了,想了解原创 2017-04-05 19:04:54 · 2424 阅读 · 4 评论 -
Flutter基础—你好,Flutter!
什么是FlutterFlutter是一个移动应用程序的软件开发工具包(SDK),用一个代码库构建高性能、高保真的iOS和Android应用程序。目标是使开发人员能够为Android和iOS提供自然的高质量的应用,在滚动行为、排版、图标等方面实现零差异。学习Flutter不需要Android或iOS的开发经验,因为Flutter程序使用Dart语言编写,如果您使用过Java或JavaScript等语言原创 2017-04-15 15:12:33 · 20683 阅读 · 3 评论 -
Flutter进阶—构建布局实例
构建布局实例这个实例会构建下图所示的页面配置图片在项目根目录下创建一个images目录在百度搜索下载资源图片在pubspec.yaml文件添加图片资源—images/park.jpgname: myappdescription: A new flutter project.dependencies: flutter: sdk: flutterflutter: uses-mate原创 2017-04-20 16:09:26 · 6628 阅读 · 3 评论 -
Flutter基础—常用控件之容器
Container控件即容器,是一个常用的控件,基础容器的实例:import 'package:flutter/material.dart';class ContainerDemo extends StatelessWidget { @override Widget build(BuildContext context) { return new Center( chi原创 2016-11-16 11:21:29 · 6960 阅读 · 1 评论 -
Flutter进阶—布局方法演示
Flutter的布局机制的核心是控件。在Flutter中,几乎所有的东西都是一个控件,甚至布局模型都是控件。您在Flutter应用程序中看到的图像、图标和文本都是控件。但是您看不到的东西也是控件,例如排列、约束和对齐可见控件的行、列和网格。您可以通过编写简单的控件来构建更复杂的控件来创建布局。例如,第一张图片显示了3个图标,每个图标下方有一个标签。第二张图片显示视觉布局,显示1行3列,其中每列包含图原创 2017-04-21 14:48:00 · 3648 阅读 · 0 评论 -
Flutter进阶—实现动画效果(五)
在本篇文章开始前,我们先来总结一下之前我们都做了哪些事情。在第一篇文章中,我们在动画值更改时调用double lerpDouble(num a, num b, double t)重新绘制条形。在第二篇文章中,我们首先用Tween类帮助我们管理动画值,并重新绘制条形,然后把绘制条形动画相关的类提取到bar.dart文件。在第三篇文章中,我们首先在Bar类中增加颜色的字段,再新建color_palett原创 2017-05-24 19:19:36 · 2479 阅读 · 0 评论 -
Flutter进阶—点击、拖动和其他手势
Flutter中的手势系统有两个层次。第一层具有原始指针事件,其描述了穿过屏幕的指针(例如触摸、鼠标和触控笔)的位置和移动。第二层具有手势,其描述由一个或多个指针移动组成的语义动作。指针指针代表用户与设备屏幕交互的原始数据。有四种类型的指针事件:PointerDownEvent:指针已经在特定位置联系了屏幕。PointerMoveEvent:指针已经从屏幕上的一个位置移动到另一个位置。Poin原创 2017-05-15 11:45:40 · 10572 阅读 · 2 评论