内容简介:前面学习了一些Dart的基础,有了这些我们就可以来尝试使用Flutter了,这里介绍一下环境的配置与部分常用的基础组件。Flutter的环境搭建起来很简单,去到Flutter官网查看一般都没问题,我这里简单介绍一下 mac 下 Flutter 环境的搭建。这样我这边的环境就搭建好了,直接运行就能看到效果~
前面学习了一些Dart的基础,有了这些我们就可以来尝试使用Flutter了,这里介绍一下环境的配置与部分常用的基础组件。
环境搭建
Flutter的环境搭建起来很简单,去到Flutter官网查看一般都没问题,我这里简单介绍一下 mac 下 Flutter 环境的搭建。
- 安装 Java SDK,配置环境变量,因为我们这里要先搭建 Android 开发环境;
- 安装 Android Studio,安装 SDK,然后安装 Flutter 插件(可能需要自备梯子);
- 安装 Visual Studio Code,然后安装 Flutter 插件,由于 Android Studio 太重了,打开之后内存暴增, 我这里还是选择了更轻量级并且这两年很火爆的编辑器 VS Code;
- 在 Flutter 官网下载最新的 mac 版 Flutter SDK 压缩包,解压到某个路径;
- 配置环境变量,我们国内的网络,除了配置 Flutter 的环境变量,还需要配置其他的,你懂的,下面我列出来:
# flutter环境变量 vim ~/.bash_profile export PATH="$PATH:/flutter/bin" # 国内用户需要配置 export PUB_HOSTED_URL=https://pub.flutter-io.cn export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn # 启用环境变量 source ~/.bash_profile # 检查环境配置 flutter doctor # 一般初次配置的话会提示缺的依赖,我这里需要执行下面的命令 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew update brew install cocoapods pod setup # 如果这里执行不动可以看我前面的文章呢 brew install ideviceinstaller brew install ios-deploy brew install --HEAD usbmuxd brew link usbmuxd brew install --HEAD libimobiledevice flutter doctor --android-licenses # 安装Android证书,一路yes # 创建项目,项目名称只能是小写 flutter create project_name # 运行项目 flutter run -d <deviceId> #r 键:点击后热加载,也就算是重新加载吧。 #p 键:显示网格,这个可以很好的掌握布局情况,工作中很有用。 #o 键:切换android和ios的预览模式。 #q 键:退出调试预览模式。
这样我这边的环境就搭建好了,直接运行就能看到效果~
说在组件前面
-
在介绍组件之前我们先看几个东西:
- 在 Dart 里一切都是对象,哪怕是一个方法也可以赋值给一个变量,所以都是对象;
- Widget : Flutter 里面的组件都是 Widget,所以写法其实都差不多;
- package : 导入其他文件相当于导入包,因为默认把文件当成包,使用 import 导入。
- 先明确一下:
使用 VS Code打开项目,能够看到有一个 lib 目录,打开此目录下的 main.dart 文件,可以看到一个 main 方法,看过之前的 Dart 学习就知道这是项目的入口,我们删除里面的内容,然后在 lib 同级目录下创建 basic 文件夹,并在里面创建 任意 dart 文件,我们之后的代码都写在这里,而 main.dart 中只作为入口引入该文件,也就是里面只有一行代码。
main() => runApp(ClassName());
常用基础组件
-
TextWidget 文本组件,所带的属性其实很像前端,可以查看一下文档
- TextAlign属性
- maxLines属性
- overflow属性
- style属性
class MyTestApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Text Widget',
home: Scaffold(
appBar: AppBar(
title: Text('Button'),
),
body: Center(
child: Text(
'fadflajflajfljalfjaljfjfaslfdafmaldfmalmflamsfljljflsjlnvx,mvnz,nvc,aldfjlajfljsaflsjlfjsalfj',
textAlign: TextAlign.left,
maxLines: 2,
),
),
)
);
}
}
-
Button 按钮, 用法差不多
- RaisedButton “漂浮”按钮,自带阴影
- FlatButton 扁平按钮
- OutlineButton 有边框
- IconButton 可点击的Icon,不包括文字
class MyTestApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Button',
home: Scaffold(
appBar: AppBar(
title: Text('Button'),
),
body: Center(
child: RaisedButton(
child: Text('Button'),
onPressed: () => {
//点击事件
},
),
),
)
);
}
}
-
ImageWidget 图片
- Image.network() 从网络加载
- Image.asset() 从本地资源中加载,但是添加资源后需要配置 pubspec.yaml
- fit: BoxFit.fill, //图片填充形式
- color
- colorBlendMode: BlendMode.modulate, //颜色混合模式,结合颜色来用
- repeat: ImageRepeat.repeat, //类似于css中的图片重复
class MyTestApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Container Widget',
home: Scaffold(
body: Center(
child: Container(
child: Image.network(
'https://blog.duicode.com/wp-content/uploads/2017/09/%E5%B7%A5%E5%85%B7.jpg',
// fit: BoxFit.fill, //图片填充
// color: Colors.greenAccent,
// colorBlendMode: BlendMode.modulate, //颜色混合模式,结合颜色来用
repeat: ImageRepeat.repeat,
),
width: 300,
height: 200,
color: Colors.lightBlue,
),
)
),
);
}
}
-
TextField 输入框
- autofocus 是否自动获取焦点。
- InputDecoration 用于控制TextField的外观显示,如提示文本、背景颜色、边框等。
class MyTestApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Button',
home: Scaffold(
appBar: AppBar(
title: Text('Button'),
),
body: Center(
child: TextField(
autofocus: true,
decoration: InputDecoration(
labelText: "用户名",
hintText: "用户名或邮箱",
prefixIcon: Icon(Icons.person)
),
),
),
)
);
}
}
-
其他的一些常用的东西
- Icons 图标集合,集成了很多图标
- Colors 颜色集合
- Flutter 中的 居中/居左/居右 还是比较坑的,各种名字,不过总体来说还好了~
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 降低云游戏延迟优化云游戏体验:贝塞斯达推出Orion技术,还公布了免费体验计划
- PyTorch 初体验
- indexedDB 初体验
- golang爬虫初体验
- Netty 入门初体验
- Ansible初体验
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Google软件测试之道
James A. Whittaker、Jason Arbon、Jeff Carollo / 黄利、李中杰、薛明 / 人民邮电出版社 / 2013-10 / 59.00元
每天,google都要测试和发布数百万个源文件、亿万行的代码。数以亿计的构建动作会触发几百万次的自动化测试,并在好几十万个浏览器实例上执行。面对这些看似不可能完成的任务,谷歌是如何测试的呢? 《google软件测试之道》从内部视角告诉你这个世界上知名的互联网公司是如何应对21世纪软件测试的独特挑战的。《google软件测试之道》抓住了google做测试的本质,抓住了google测试这个时代最......一起来看看 《Google软件测试之道》 这本书的介绍吧!