
Flutter/Dart
文章平均质量分 85
依然ゝ心碎
我不是人事,不是文秘,不是行政,我是个写代码的。为API生,为框架死,为Debug奋斗一辈子!吃符号的亏,上大小写的当,最后死在需求上!就是这么一个活脱脱的杯具程序员!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Flutter上传文件到服务器
好久没写了,一直没时间,项目太紧,而且自己也变懒了许多。现在就发一下自己简简单单的封装类吧,一个上传服务器的一个封装。因为很多人问我在选择之后在选择无法去保存上次选择的文件。其实我也没多说什么。就说了一个set去重。在这里我就把我最简单的一个封装拿来用。这里我用的是一个multi_image_picker这个插件。我也不多说什么了直接上代码了。只要copy下来修改一下自己的网络配置就能使用。import 'dart:io';import 'package:---------/pages/login_p原创 2020-09-04 10:12:13 · 5968 阅读 · 1 评论 -
Flutter小实战----我们使用BLoc来实现一个登录的功能
前言:近来换了一份工作。在新工作中,由于公司产品是使用bloc开发的,那么没办法了,只能学了一下。在学习bloc的过程中,比较顺畅吧。感觉他跟provider(仅仅使用的区别,不是源码还有他跟provider适用场景的区别!!!!再次提示,勿喷)的区别就是,provider做一个封装过InheritWidget的特殊顶层变量它里面镶嵌这widget,而bloc是把自己的数据层,事件,状态,全部分割出来,当然你开始会觉得他很乱,要是用明白之后,发现其实这个框架开发产品挺舒服的。毕竟逻辑清晰。准备当然还是导原创 2020-07-08 17:04:45 · 3020 阅读 · 0 评论 -
Flutter状态管理之BLoc----实现计算器功能
1.我们先安装依赖2.写一个ticker.dartclass Ticker{ Stream<int> tick({int ticks}){ return Stream.periodic(Duration(seconds: 1),(v){ return ticks - v - 1; }).take(ticks); }}这是一个定时器,我们没有使用timer,而是直接使用stream来实现。3.timer的state区分TimerInitial翻译 2020-06-29 20:52:19 · 723 阅读 · 0 评论 -
Flutter----实现优惠券外观的绘制
近来看源码。看的好爽。但是说句话没多大用,要是碰见难题是不是大家就跟我一样找UI切图去了。好了不说别的了 ,先看下面的优惠券。要是实现这样的优惠券你要怎么办?好吧,如果你问我的话,我的第一反应就是:xx姐/xx哥(UI切图)给我切个图。不知道你们是不是跟我一样。好吧这次我们就用代码来实现这种样式。shape看到这边边框的话,我相信大家能想到shape这个参数吧。他有几个类型的参数值:B...翻译 2020-03-07 10:13:49 · 2565 阅读 · 0 评论 -
Flutter ---- ListView去除默认阴影
想看具体实现的清跳转到文末android使用滑动控件的时候默认就会有这么一个水波纹效果,真的是非常丑,原生可以使用overscroll属性关掉这个效果,但是在Flutter中貌似没有这个属性呢,查看ListView的构造方法也是一脸懵逼网上有人说指定physics属性为BouncingScrollPhysics可以避免水波纹效果,这个确实也管用,但同时也把反弹效果加上去了。所以不太好!同...转载 2020-03-02 09:43:57 · 6229 阅读 · 1 评论 -
Flutter----去掉底部导航栏的水波纹效果
在群里有好几次被人问到了,Flutter自带的底部导航栏,点击会有水波纹的效果,要怎么去掉。当时我也很懵,不是觉得这应该很简单吗?怎么被问了好几次。现在我就把这个解决方法告诉你们。其实处理问题的方式很简单。自己去copy源码找到地方自己修改自己去想办法(当然这是说废话。。。你不想方法,感觉第二天可以去财务结账了!)好了我就不说废话了,直接说正题了。正常来说我们建立一个...原创 2020-02-29 10:25:44 · 4660 阅读 · 0 评论 -
Flutter一个简单的Route Helper/Navigator Helper
在Flutter中route是一个绕不开必须面对并且很常用的东西。Route就是路由,顾名思义,负责你页面之间的跳转。路由分静态路由和动态路由。静态路由: 不需要传参的,这样等二路由可以直接定义在MaterialApp/WidgetApp里,这样可以通过Navigator.pushNamed使用。动态路由: 就是传入一个动态路由并且带参数,或者你自定义的。在这里我们可以使用一个工具类...转载 2020-01-21 16:00:21 · 325 阅读 · 0 评论 -
Flutter----RxDart讲解
RxDart就是一个响应式编程,与之相关的还有他自己的全家桶(RxKotlin,RxJava,RxJS…)。。。我前面也有说过,反正我自己所见过的状态管理基本都是对Stream封装过的。所以本文就讲解一下几种不同类型的RxDart中的Subject。这里的Subject就相当于Stream中的StreamController。Observables点开源码不出所料 的就看出了,Observa...原创 2020-01-20 11:23:07 · 2586 阅读 · 0 评论 -
Flutter----探索setState原理
简要说明State1. State是什么?我们都知道,Flutter有个特性**“everything is widget”,而Widget是@immutable(不可变的),那么你就会问,我每次setState之后的Widget**树是怎么渲染的?他既然是不变的那怎么会进行重绘改变呢?那么疑问自然而然的就来了!!!!我们知道,StatefulWidget的State会帮助我们实现Widge...原创 2020-01-19 15:27:14 · 1618 阅读 · 0 评论 -
Flutter----Stream讲解
StreamStream在Flutter中也是属于非常关键的概念,就好比前面我有写过一篇event_bus的文章,我就是用Stream去做的,有兴趣的可以去前面看看。在Flutter中,状态管理出了本身自带的InheritedWidget之外,还有什么rxdart,Bolc,redux,provider以及别的大佬们写的插件。但是不管是什么状态管理的模式,我看到的基本都是离不开Stream的封...原创 2020-01-17 14:26:42 · 3247 阅读 · 0 评论 -
用Flutter实现一个类似于轮播图的效果
效果图:过程脑洞自补!!!类似于上图的效果,我们应该能想到用PageView来实现,但是思来想去,PageView官方并没有给自定义的参数,就是我们需要的下面的指示器的效果。现在我就来说下一下怎么来实现他。在Flutter的字典中,有一句话说的好,“万事不决Stack”好了我们就套用Stack布局来实现图片和图片标题的内容嵌套。首先我们先建立一个存放图片的类,本来想用api来,但是发现还...原创 2020-01-16 11:31:06 · 1265 阅读 · 2 评论 -
flutter局部刷新
局部刷新我们在做项目的时候,都需要单独的去刷新一个值,而不是把整个界面都重绘。大家都知道setState是进行重绘的一个方法,他会执行生命周期的一个build,这将会使得整个界面来进行重绘。当然我们也会说把他进行状态管理,因为我个人不是很喜欢用provider进行状态管理,而是使用steam和event_bus进行传值和管理,当然自然的代码就会多了,所以我现在也在寻找provider更简单的方法...原创 2020-01-15 14:53:42 · 8509 阅读 · 5 评论 -
Flutter --- event_bus插件传值
Flutter — event_bus插件传值自我感觉这个event_bus能够进行状态管理,类似于provider功能的那种;这一段时间也是一直卡在这个地方,我很伤心,因为网上的demo,全是TM的扯淡扯皮的,一点B用没有,只能在一个界面内进行传参传值,那样的话我们为什么还用这个呢?不如直接用flutter给的InheritedWidget进行数据共享呢!网上给的demo大约就是这样还有别...原创 2019-12-04 18:47:17 · 963 阅读 · 1 评论 -
Flutter Dio 网络接口与请求数据
Flutter Dio 网络接口与请求数据想了想,感觉没什么好说的,像什么get,post,delete,download啥的,基本插件的使用文档都有,没什么好说的,但是我们实际项目写的时候,可不能那样写,容易引起别人笑话,所以说最基本的配置文件还需要我们自己动手去书写。我也不挨个的发了感觉没意思,就大致的把网络接口的数据模型发给大家,大家直接复制下来就能用,当然用的时候也要改一下一些参数,例如...原创 2019-11-16 11:10:09 · 2895 阅读 · 0 评论 -
Flutter 网络基础 ---Dio插件的基本使用
Flutter 网络基础 —Dio插件的基本使用我们在很多的实际应用和开发中斗会用到网络这里的相关问题和知识。在Flutter中其实有很多已经帮我们封装好的插件,比如Http什么的,而最好用的,和使用做得多的就是Dio插件,这个包括了很多东西。我们都知道,与网络打交道有很多方式,get,post,delete,等等。而在这里我说的就是Dio插件请求最基本的get。需求什么的我就不说了,这...原创 2019-11-15 19:30:33 · 959 阅读 · 0 评论 -
Flutter路由动画
Flutter路由动画在我们实际的开发中,这个动画还是比较必要的。因为我们要求有效果的实现,总不能一下子就覆盖了原来的内容,所以我们就需要动画来实现这界面跳转的效果。这里我只说一个移动端最常用的一个就是侧滑的效果。我们定义两个界面,没个界面中间都有一个按钮,能够实现页面的跳转。代码如下:## main.dart ##void main() => runApp(MyApp());...原创 2019-11-06 17:49:23 · 1301 阅读 · 0 评论 -
Flutter组件----ExpansionTile
ExpansionTile是什么?ExpansionTile其实就是一个类似于有一个标题可以展开的控件而已,就好比我们选择一个Title他就可以展开一些属于他的东西。例如我们点击一个服务,它会在下面展开一些服务的子项目。我们看ExpansionTile的签名函数即构造函数ExpansionTile({ Key key, this.leading,//和ListTitle类似,...原创 2019-11-05 18:13:27 · 6344 阅读 · 0 评论 -
Flutter常用基本布局Layout(2)
Flutter常用基本布局Layout(2)在上文中我们主要介绍了Row和Column的用法,借助于这两个Widget我们可以很方便的完成我们想要的界面效果,根据前面学过的内容完成如下布局效果:实现如上效果的代码如下:class _MyHomePageState extends State<MyHomePage> { @override Widget build(Bui...原创 2019-11-01 17:57:21 · 701 阅读 · 0 评论 -
Flutter常用基本布局Layout(1)
Flutter常用基本布局Layout(1)在前面的文章中,我们有说国Container,Text,仔细的朋友们可能会发现,这些Widge只能传入一个child对象,而不能传入多个child,这样一来可就大大限制了我们的工作的适应度。所以,今天我们就来讲讲可以传入多个child(children)的Widget,例如:Row和Column。(当然前面说的ListView也是可以传入多个Widge...原创 2019-11-01 17:20:03 · 372 阅读 · 0 评论 -
Flutter防止键盘弹出超出屏幕像素
有时候我们在用Flutter去画界面的时候,在使用键盘的时候弹出会出现键盘弹出后超出屏幕。所以我们只需要在Scaffold中加入resizeToAvoidBottomPadding: false,这个参数就好!例如:return Scaffold( appBar: AppBar( elevation: 0.0, title: new Text("防止键盘弹出超出屏幕"),...原创 2019-11-01 09:34:01 · 1241 阅读 · 0 评论 -
Flutter常用组件 ListView
Flutter常用组件ListView动态列表是我们常用的基本布局方式之一,我们可以通过ListView来实现动态列表,它也支持横向和纵向的方式去展示。我们可以通过ListView去实现垂直列表、垂直图文列表、水平列表、动态列表、矩阵式列表等。以下是ListView的常用基本参数名称类型&说明scrollDirectionAxis & Axis.hori...原创 2019-10-25 22:43:31 · 322 阅读 · 0 评论 -
Flutter常用组件图片组件
图片组件图片组件是显示图像的组件,Image 组件有很多构造函数,这里我们只给大家讲两个Image.asset, 本地图片(加载工程内的图片)Image.network 远程图片(加载网络图片)名称类型&说明alignmentAlignment & 图片的对齐方式color 和colorBlendMode设置图片的背景颜色,通常和 colorB...原创 2019-10-24 22:17:18 · 334 阅读 · 0 评论 -
Flutter常用组件Text Container组件
Text组件常用组件,大部分也比较熟悉,基本使用的就是textAlign ,overflow,style,感觉也没什么多说的,毕竟是常用的,使用几次就习惯了。Container组件Container组件是我们常用的布局文件,但是对于Container组件也有很多功能,大部分我们使用的时候使用来装饰的decoration的,比如圆角框,颜色,边线等。如图中的效果;代码为:body: C...原创 2019-10-24 21:57:12 · 277 阅读 · 0 评论 -
使用Flutter建立一个登陆界面
这是我们需要做的设计图,关于设计图就不用说了。直接上代码import 'package:flutter/material.dart';//密码登陆class Login extends StatefulWidget { @override _LoginState createState() => _LoginState();}class _LoginState ex...原创 2019-09-23 17:32:06 · 613 阅读 · 0 评论