From d3205166c22e8865ddc7673be7d70d3a2fc45ceb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BB=93=E5=8F=91=E5=8F=97=E9=95=BF=E7=94=9F?= Date: Sun, 10 Nov 2019 00:42:47 +0800 Subject: [PATCH] =?UTF-8?q?Flutter=E5=8A=A8=E6=80=81=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- images/flutter/GridView.png | Bin 0 -> 29683 bytes source/_posts/flutter/Flutter动态列表.md | 118 +++++++++++++++++++++++ 2 files changed, 118 insertions(+) create mode 100644 images/flutter/GridView.png create mode 100644 source/_posts/flutter/Flutter动态列表.md diff --git a/images/flutter/GridView.png b/images/flutter/GridView.png new file mode 100644 index 0000000000000000000000000000000000000000..9f730fb4c3413a9d636a2d2bef02f44184f32f51 GIT binary patch literal 29683 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 Nnrb?#Wy+Qz{|80qQ|kZ# literal 0 HcmV?d00001 diff --git a/source/_posts/flutter/Flutter动态列表.md b/source/_posts/flutter/Flutter动态列表.md new file mode 100644 index 0000000..41dd232 --- /dev/null +++ b/source/_posts/flutter/Flutter动态列表.md @@ -0,0 +1,118 @@ +--- +title: Flutter动态列表 +date: 2019-11-06 20:59:37 +tags: + - flutter + - dart +categories: + - flutter +--- + +ListView提供了`ListView.builder`构造方法用来动态构建列表 + + +```dart +class MyList extends StatelessWidget { + final List items; + MyList({@required this.items}); + @override + Widget build(BuildContext context) { + return Container(child: + ListView.builder( + itemCount: items.length, + itemBuilder: (context, index) { + return ListTile(title: Text(items[index])); + } + ), + ); + } +} +``` +`@required`注解表示该参数是必须要传的 +这里创建一个List<String>类型的属性来存放数据 + +调用时可以使用`List.generate`这个List的命名构造方法来快速创建一个列表 +比如 +```dart +List.generate(100, (index) => 'item $index') +``` + +### 网格布局 +网格布局需要使用`GridView`组件,类似于css当中的grid布局方式 +```dart +GridView.builder( + gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( + crossAxisCount: 4, // 横轴元素数量 + mainAxisSpacing: 5, // 纵轴间距 + crossAxisSpacing: 10 // 横轴间距 + ), + itemBuilder: (context, index){ + return Text(this.items[index]); + }, + itemCount: this.items.length, +), +``` +可以得到一个网格布局 +![GridView](/images/flutter/GridView.png) +`SliverGridDelegateWithFixedCrossAxisCount`其实就是固定横轴元素数量的布局方式 +crossAxisCount是其必传参数 +还有一种是指定列宽度根据容器大小自适应的布局`SliverGridDelegateWithMaxCrossAxisExtent` +maxCrossAxisExtent是其必传参数 + +### 交互操作 +处理手势可以使用`GestureDetector`组件,它是可以添加手势的一个widget +其中包含所有的交互方式,比如触碰 长按 滑动等等 +这个组件当中包含的子组件就可以响应该组件上定义的交互事件 +```dart +GestureDetector( + onTap: (){ + print('onTap'); + }, + child: Container( + height: 100, + width: 200, + color: Colors.pinkAccent, + ), +) +``` +这样点击这个Container元素的时候,就可以执行指定的函数 + + +### 接口调用 +Flutter项目当中根目录下有一个`pubspec.yaml`文件,是对该项目的描述,以及一些依赖的引入 +类似于nodejs项目的package.json文件的作用 + +dart的第三方模块可以到[Dart Package](https://pub.dev/)搜索 +```yaml +dependencies: + flutter: + sdk: flutter + http: ^0.12.0+2 # 加入http模块的引入 + # The following adds the Cupertino Icons font to your application. + # Use with the CupertinoIcons class for iOS style icons. + cupertino_icons: ^0.1.2 +``` +之后可以在代码当中使用该模块 +```dart +import 'package:http/http.dart' as http; + +void httpGet(Function callback, [Function errCallback]) async { + try { + http.Response response = await http.get('https://www.example.com/'); + if(callback != null) { + callback(response.body); + } + } catch (err) { + if(errCallback != null) { + errCallback(err); + } + } +} +``` +**http.get** 返回的是一个Future<String> +dart语言的执行本身也是单线程的,与js非常类似 +所以也需要进行异步回调,内部包含await的函数需要声明为async +post的调用方式如下 +```dart +http.Response res = await http.post(url, body: params); +```