尝鲜体验Flutter.
首先是环境的搭建,建议对比一下中文版,英文版更新的比较快。首先在获取SDK 上面就有不同。最新版英文版可以直接下载包,解压安装。目前支持三种系统1.window;2.macos;3.linux
Flutter SDK
第一种 下载之后,看英文版的方法新建空目录解压。
地址。。。。甩下面。
装环境比较费时间,一回生二回熟。没有翻墙,不去使用 git clone 贼慢!!!
英文版:https://flutter.io/get-started/install/
中文版:https://flutterchina.club/
安装:
第1种:
附件=SDK下载(这个是英文版那边的下载地址):
https://storage.googleapis.com/flutter_infra/releases/beta/macos/flutter_macos_v0.5.1-beta.zip
cd ~/development
unzip ~/Downloads/flutter_macos_xxx.zip
export PATH=`pwd`/flutter/bin:$PATH
第2种:
git clone -b beta https://github.com/flutter/flutter.git
export PATH=`pwd`/flutter/bin:$PATH
两个点:
1.flutter 是一个UI框架,它基于Dart.
2.Dart (重点)一门面向对象语言。
编辑器
1.intelliJ
2.vsCode
3.Android stdio
and so on?
无状态控件:固定文本。就是不能动态去改。
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
home: new MyText(
data: '你好,Flutterwww',
title: 'Flutter Header',
)
);
}
}
class MyText extends StatelessWidget{
// 这里使用 const 重新定义 这个MyText 控件,使他能狗成为无状态的空间,我们它随意给text 赋值
const MyText({
Key key,
this.data,
this.title,
}) : super(key: key);
final String data;
final String title;
@override
Widget build(BuildContext context) {
return new Scaffold(
appBar: new AppBar(
title: new Text(title),
),
body: new Center(
child: new Text(data),
)
);
}
}
有状态控件:就是能动态去改。
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
home: new MyAdd(),
);
}
}
class MyAdd extends StatefulWidget {
@override
_YouState createState() => new _YouState();
}
class _YouState extends State<MyAdd> {
int _count = 0;
void _incrment(){
setState(
() {
_count+=1;
});
}
@override
Widget build(BuildContext context) {
// TODO: implement build
return new Scaffold(
appBar: new AppBar(
title: new Text('iam header'),
),
body: new Center(
child: new Text(
'我点击了 $_count 几次'
),
),
floatingActionButton: new FloatingActionButton(
onPressed: _incrment,
tooltip: 'add',
child: new Icon(Icons.add),),
);
}
}
送人玫瑰,手留余香。
网友评论