
flutter
儿歌八万首
不为往事扰,余生自愿笑。
展开
-
Flutter项目中构建Web工程以及发布nginx服务
Flutter的beat通道已经支持对web的支持,通过 Web 支持,你可以将使用 Dart 编写的现有 Flutter 代码编译为可以嵌入浏览器,并部署到任何 Web 服务器上,具有客户端体验的 Web 应用。你可以使用 Flutter 的所有功能,而不需要任何浏览器插件。使用Flutter构建Web应用1.创建一个支持Web的新项目如果你不知道自己的FLutter的channel版本,你可以使用flutter channel命令来查看Flutter通道:caojingMBP:~ caojin原创 2020-09-07 17:27:23 · 1160 阅读 · 0 评论 -
Flutter学习八之滑动组件ListView和GridView的使用
今天我们用Flutter来实现这样的一个页面,类似于一个分组列表,在Android 中如果要实现一个这样的页面,实现想到的肯定是RecycleView,然后通过在adapter中设置两个item样式根据在数据中新增一个标示来区分是标题还是内容,一个控件就能搞定,但是在Flutter中并没有适配器的概念,那如果要实现这样的一个布局该怎么办?通过分析页面得知,这应该是一个ListView嵌套一个GridView来实现的,在Android中RecycleView还没出来之前,我们如果要实现这样的一个布局,常用原创 2020-09-03 17:04:40 · 1173 阅读 · 0 评论 -
Flutter学习七之实现一个简单的页面基类,支持全局控制页面状态
在Android 中可以定义Activity基类,所有可以在基类定义一些公共方法,比如全局标题栏,页面跳转动画,那么子啊FLutter中是不是也可以定义一个页面的基类,今天就来尝试一下。首先我们定义一个抽象类BaseWidget,该类继承自StatefulWidget,代码如下:abstract class BaseWidget extends StatefulWidget { @override BaseWidgetState createState() => getState();原创 2020-08-24 22:44:17 · 991 阅读 · 0 评论 -
Flutter中滑动出现_positions.isNotEmpty异常解决办法
昨天从其他页面回到首页,滑动banner图切换时发现一个错误,虽然没有导致崩溃,但是总是觉得不舒服:Unhandled Exception: 'package:flutter/src/widgets/scroll_controller.dart': Failed assertion: line 110 pos 12: '_positions.isNotEmpty': ScrollController not attached to any scroll views.#0 _Assertion原创 2020-08-22 13:52:00 · 2826 阅读 · 0 评论 -
Flutter学习六之实现一个带筛选的列表页面
上期实现了一个网络轮播图的效果,自定义了一个轮播图组件,继承自StatefulWidget,我们知道Flutter中并没有像Android中activity的概念。页面见的跳转是通过路由从一个全屏组件跳转到另外的一个全屏组件,那如果我想在A组件中更新B组件的数据应该怎么实现呢?今天我们来实现一个支持筛选的列表页面。前面我们已经实现来一个支持下拉刷新和上拉加载更多的列表组件,这里就不在做更多介绍来,效果图如下:通过点击左滑菜单筛选列表的数据。由于列表在之前的一篇文章已经说明过Flutter学习四之实现一原创 2020-08-19 00:05:25 · 1611 阅读 · 0 评论 -
Flutter学习五之网络请求和轮播图的实现
上期讲到了,怎样实现一个下拉刷新和加载更多的列表,数据更新,需要使用到网络请求,在flutter中,怎样实现一个网络请求呢 官方使用的是dart io中的HttpClient发起的请求,但HttpClient本身功能较弱,很多常用功能都不支持。所以这里我们直接使用国内的开源库 dio,dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等功能。首先我们导入开源库dio,目前的最新版本是 dio: ^原创 2020-08-17 01:26:16 · 361 阅读 · 0 评论 -
Flutter学习四之实现一个支持刷新加载的列表
上一篇文章用Scaffold widget搭建了一个带底部导航栏的的项目架构,这篇文章就来介绍一下在flutter中怎么实现一个带下拉刷新和上拉加载更多的一个列表,这里用到了pull_to_refresh的第三方库。1、在pubspec.yaml文件中加入一行代码,导入第三方库。 dependencies: pull_to_refresh: ^1.6.12、新建一个类,继承自StatefulWidget来添加一个新的页面,在build方法中,返回一个 Scaffold 控件,在appbar原创 2020-08-14 13:48:31 · 1153 阅读 · 0 评论 -
Flutter学习三之搭建一个简单的项目框架
上一篇文章介绍了Dart的语法的基本使用,从这篇文章开始,开发一个基于玩Android网站的app。使用的他们开放的api来获取网站数据。根据网站的结构,我们app最外层框架需要添加一个底部导航栏,导航栏有5给tab,每个tab对应一个页面,分别是首页,项目,公众号,问答,我的等5个模块。在Android中,如果要实现这样的UI框架,有很多中实现方式,常用的就是一个Activity里面配合多个fragment来实现。但是在Flutter中并没有activity和fragment的组件。Flutter中原创 2020-08-13 14:36:23 · 543 阅读 · 0 评论 -
Flutter学习一之环境搭建
MacOS上搭建Flutter开发环境flutter官网下载最新的安装包,https://flutter.io/sdk-archive/#macos解压安装包到你想安装的目录。直接解压或者是用unzip命令打开mac终端,输入命令 open -e .bash_profile打开环境变量配置,在打开的文件中添加下面这段配置:export PATH=$PATH:/Users/caojing/flutter/flutter/bin export PATH=${PATH}:${ANDROID_HOM原创 2020-08-13 14:29:08 · 174 阅读 · 0 评论