flutter
张漂亮2号
既然选择了远方.便只顾风雨兼程
展开
-
flutter toast 自定义控件
### 虽然fluttertoast很好用,还是决定自定义一个,毕竟产品经常需要,黑点,亮点,大点小店,带点图片的......需求,如果需要图片等特殊效果,该下UI即可```import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';class ToastUtils { static O...原创 2020-10-05 11:07:25 · 398 阅读 · 0 评论 -
flutter IJKPlayer 打包release无法运行,debug一切正常
项目中引入的 IJKPlayer作为视频播放发现debug运行,没有任何问题,打包release安卓apk,运行一直报错。究其原因发现,是插件忘记忽略混淆只需要加上混淆配置就行在 proguard 文件加入-keep class tv.danmaku.ijk.media.player.** {*;}...原创 2020-08-22 15:37:08 · 1277 阅读 · 0 评论 -
flutter toast 自定义控件
虽然fluttertoast很好用,还是决定自定义一个,毕竟产品经常需要,黑点,亮点,大点小店,带点图片的…需求,如果需要图片等特殊效果,该下UI即可import 'package:flutter/cupertino.dart';import 'package:flutter/material.dart';class ToastUtils { static OverlayEntry _...原创 2020-03-10 20:50:30 · 1225 阅读 · 0 评论 -
flutter dart dio http 请求方式
flutter中提供的dio插件, dio: 3.0.7可以看到官方提供了http很多中请求方式工作中除了使用post,get,delete等常见的,其实还有很多HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。喜欢可以加Q群号:913...原创 2020-03-06 14:27:47 · 2048 阅读 · 0 评论 -
flutter listview 设置分割线
使用ListView.separated,就很简单了 ListView.separated( scrollDirection: direction, itemBuilder: (context, index) { final Axis slidableDirection = direction == Axis.ho...原创 2020-03-06 13:49:14 · 7916 阅读 · 1 评论 -
flutter 开发根据Android studio 对比vs code
使用flutter开发一年多了,对Android studio和vs code都使用过,感觉Android studio更方便好用,刚好今天又更新了一下新版本,颜色发生大变化,很耀眼,祝Android studio越来越好Android studio 主要更新了以下内容页面UI喜欢可以加Q群号:913934649,点赞,评论;简书: https://www.jianshu.com/...原创 2020-03-03 18:17:03 · 4273 阅读 · 0 评论 -
flutter剪贴复制板数据存储在剪贴板上
复制数据到粘贴板Clipboard.setData(ClipboardData(text: text));喜欢可以加Q群号:913934649,点赞,评论;简书: https://www.jianshu.com/u/88db5f15770dcsdn:https://me.csdn.net/beyondforme掘金:https://juejin.im/user/5e09a9e86fb9...原创 2020-02-17 17:18:13 · 1094 阅读 · 0 评论 -
flutter sqflite Database使用
IM应用,刚开始使用SharedPreferences,发现实在是太简单了,功能也远远不够呀,例如:搜索本地消息,多账号信息保存等等flutter 自带提供了sqflite,使用也很简单方便,需要测试只需要安装Database插件,就可以查看测试等等等 DBHelper { static Database db; static initDatabase() async { L...原创 2020-02-17 15:13:31 · 924 阅读 · 1 评论 -
flutter listview 横向滚动
刚开始思考着应该和android一样,默认垂直滚动,需要自定义,非常麻烦.查阅官方文档,才发现只需要增加一行代码即可ListView.builder( scrollDirection: Axis.horizontal, itemBuilder: (context, index) { final Axis slidableDirection = ...原创 2020-02-14 20:12:36 · 4482 阅读 · 0 评论 -
flutter 中const,static,final区别
const,static,final在Dart中表示完全不同的事物:“ static ”表示成员在类本身而不是在类的实例上可用。这就是它的全部意思,并且没有用于其他任何用途。静态修改成员。“ final ”表示单分配:最终变量或字段必须具有初始化程序。一旦分配了值,最终变量的值就无法更改。 final修改变量。“ const ” 的含义在Dart中更加复杂和微妙。 const修改值。您可以...原创 2020-02-11 14:55:50 · 7963 阅读 · 0 评论 -
flutter 网络是否可用,监听网络变化
StreamSubscription<ConnectivityResult> _connectivitySubscription;//网络初始状态connectivityInitState() { _connectivitySubscription = Connectivity().onConnectivityChanged.listen((Connectivity...原创 2020-02-01 19:23:11 · 2475 阅读 · 0 评论 -
flutter PageView 禁止左右滚动
开发app中,首页会经常使用到PageView,首页又不需要滑动,这个时候就需要关闭系统自带的左右滑动效果效果如下:PageView.builder( itemBuilder: (BuildContext context, int index) => tabBodies[index], ...原创 2020-02-01 16:58:46 · 3572 阅读 · 0 评论 -
flutter dart 中dynamic var object的区别
dynamic ,var、object 三种类型的区别dynamic:所有dart 对象的基础类型,在大多数情况下,不直接使用它 通过它定义的变量会关闭类型检查,这意味着 dynamix x= ‘hal’; x.foo();这段静态类型检查不会报错,但是运行时会crash,因为x 并没有foo() 方法,所以建议大家在编程时不要直接使用dynamic;var:是一个关键字,意思是"我不关心...原创 2020-01-29 19:30:18 · 5084 阅读 · 1 评论 -
flutter 截图获取设备像素比
手机截图功能,第一个写pixelRatio比例为1,发现截图很模糊,仔细查阅,才发现需要获取当前像素比 try { RenderRepaintBoundary boundary = rootWidgetKey.currentContext.findRenderObject(); var dpr = window.devicePixelRat...原创 2020-01-28 21:07:33 · 2732 阅读 · 0 评论 -
flutter 分组列表
先看看效果是不是你想要的library grouped_listview;import 'package:flutter/material.dart';typedef TGroup GroupFunction<TElement, TGroup>(TElement element);typedef Widget ListBuilderFunction<TElement...原创 2020-01-28 17:52:17 · 6596 阅读 · 0 评论 -
flutter 长按弹出菜单,删除,分享,更多,撤回.
#### 最近在开发IM软件,需要做:长按弹出菜单,删除,分享,更多,撤回.#### 先看看效果是不是你想要的![](https://imgconvert.csdnimg.cn/aHR0cHM6Ly91c2VyLWdvbGQtY2RuLnhpdHUuaW8vMjAyMC8xLzI4LzE2ZmViNDZlZDg5MWU0YWI?x-oss-process=image/format,png)...原创 2020-01-28 16:46:00 · 2289 阅读 · 0 评论 -
flutter 长按弹出菜单,删除,分享,更多,撤回.
最近在开发IM软件,需要做:长按弹出菜单,删除,分享,更多,撤回.先看看效果是不是你想要的使用处的代码_menuView() { bool isCanRecall = DateTime.now().millisecondsSinceEpoch - dateTime.millisecondsSinceEpoch < 12000; ...原创 2020-10-05 11:08:20 · 1334 阅读 · 1 评论 -
flutter 长按弹出菜单,删除,分享,更多,撤回.
最近在开发IM软件,需要做:长按弹出菜单,删除,分享,更多,撤回.先看看效果是不是你想要的使用处的代码_menuView() { bool isCanRecall = DateTime.now().millisecondsSinceEpoch - dateTime.millisecondsSinceEpoch < 12000; ...原创 2020-01-28 16:44:11 · 4436 阅读 · 0 评论 -
Flutter PopupMenu 仿微信聊天长按弹出菜单,删除,分享,更多,撤回
最近在开发IM软件,需要做:长按弹出菜单,删除,分享,更多,撤回.先看看效果是不是你想要的使用处的代码_menuView() { bool isCanRecall = DateTime.now().millisecondsSinceEpoch - dateTime.millisecondsSinceEpoch < 12000; ...原创 2020-01-28 16:40:26 · 2528 阅读 · 1 评论 -
flutter 自带方法获取视频缩略图
IM中需要发送视频,获取缩略图 FutureBuilder( future: _initializeVideoPlayerFuture, builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState....原创 2020-01-22 14:56:56 · 8845 阅读 · 4 评论 -
flutter 图片工具类imageUtils
图片工具类,缓存图片,可以更改图片颜色class ImgUtils { static showNetImg(String url) { return CachedNetworkImage( imageUrl: url ?? '', imageBuilder: (context, imageProvider) => Container( d...原创 2020-01-21 17:16:51 · 1160 阅读 · 0 评论 -
flutter Android 腾讯云上传
最近用flutter开发IM软件,用到腾讯云上传图片视频等资源,发现居然没有改插件,于是动动手自己写了个iOS和安卓的Android 接入腾讯云上传工具,iOS在另一文章中有详细记载,有问题可以留言/** * 腾讯云 */public class Plugin implements MethodCallHandler { Registrar registrar; Meth...原创 2020-01-21 17:02:21 · 944 阅读 · 4 评论 -
flutter ios 腾讯云上传
ios 接入腾讯云上传工具## To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html#Pod::Spec.new do |s| s.name = 'tencent_cos' s.version = '0.0.1' s.summa...原创 2020-01-20 18:20:05 · 674 阅读 · 0 评论 -
flutter 调用原生方法,返回桌面
开发xmpp中发现,flutter 有限功能还是无法实现的,就需要原生功能的实现 import android.os.Bundle;import io.flutter.app.FlutterActivity;import io.flutter.plugin.common.MethodChannel;import io.flutter.plugins.GeneratedPluginRe...原创 2020-01-20 17:55:35 · 1361 阅读 · 0 评论 -
Flutter Image 图片显示样式 BoxFit
常见用法如下:Image.asset("assets/images/ic_qrcode_preview_tiny.png", height: 30.0, width: 30.0, fit: BoxFit.cover);网络图片fit属性也实用BoxFit.fill:充满父容器。BoxFit.contain:尽可能大,保持图片分辨率。BoxFit....原创 2020-01-20 13:05:32 · 10162 阅读 · 0 评论 -
flutter dart 时间戳转时间
var now = new DateTime.now(); var format = new DateFormat('HH:mm a'); var date = new DateTime.fromMillisecondsSinceEpoch(timestamp * 1000); var diff = now.difference(date); var time =...原创 2020-01-18 15:30:24 · 7910 阅读 · 0 评论 -
flutter获取屏幕宽高度
很简洁的几行代码,比iOS,安卓,获取方便很多MediaQuery.of(context).size.widthMediaQuery.of(context).size.height更多详解:喜欢可以加Q群号:913934649,点赞,评论;简书: https://www.jianshu.com/u/88db5f15770dcsdn:https://me.csdn.net/beyon...原创 2020-01-18 15:23:20 · 1610 阅读 · 0 评论 -
flutter 圆角登录边框按钮
圆角边框按钮:Container( padding: EdgeInsets.all(6), decoration: BoxDecoration( border: Border.all(color: Color(0xff5f6fff), width: 1), color:...原创 2020-01-16 20:49:38 · 3358 阅读 · 2 评论 -
flutter listview 滚动到底部显示
工作中经常遇到,需要显示到底部,其实很简单的几行代码 ScrollController _controller = ScrollController(); _buildSuggestions() { if (_list.length > 0) Timer(Duration(milliseconds: 500), () => _contro...原创 2020-01-16 16:34:47 · 7140 阅读 · 5 评论 -
flutter 限制输入数字
TextInputType.number只能弹出数字键盘,还是可以输入特殊字符等,需要加上WhitelistingTextInputFormatter.digitsOnly TextField( inputFormatters: [ LengthLimitingTextInputFormatter(11), WhitelistingTextInputF...原创 2020-01-14 16:19:02 · 2099 阅读 · 0 评论 -
flutter webview 带进度条,加载框
网页加载中,没有进度条,一片空白,实在不雅观,实现的效果如下:自定义webview,展示进度条和加载框import 'package:flutter/material.dart';import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';//展示网页数据// ignore: must_be_immutabl...原创 2020-01-14 14:22:08 · 2770 阅读 · 0 评论 -
flutter 常用插件汇总
华而不实的框架,千篇一律,好用的轮子,你我都需要没有轮子,跑不快,下面汇总自己一年多来,经常使用的好看或者实用的轮子dio: 3.0.7flutter_swiper: ^1.1.6flutter_screenutil: ^0.5.2url_launcher: ^5.2.7flutter_easyrefresh: ^1.2.7provide: ^1.0.2fluttertoast: ...原创 2020-01-14 10:00:43 · 1097 阅读 · 1 评论 -
flutter 收起软键盘
xmpp聊天中,经常遇到上下滑动聊天记录,需要收起键盘,方便用户操作GestureDetector( // 触摸收起键盘 behavior: HitTestBehavior.translucent, onTap: () => FocusScope.of(context).requestFocus(FocusNode()), child:Listv...原创 2020-01-13 20:24:33 · 9498 阅读 · 1 评论 -
flutter 通知,适用安卓ios
最近在开发xmpp及时通讯,通知是必不可少的,记录下自己的成果1 首先引入包 cupertino_icons: ^0.1.3 http: ^0.12.0+2 path_provider: ^1.3.1 shared_preferences: ^0.5.4 rxdart: ^0.20.0 flutter_local_notifications: ^0.8.02 主代码入...原创 2020-01-13 19:02:40 · 986 阅读 · 1 评论 -
Flutter Redux 状态管理
Xmpp中经常遇到消息刷新,红点刷新,等问题.消息到处发送,代码也不利于维护,发现有个redux,方便好用,记录下1 项目中增加 redux_epics: 0.12.02 创建Stateimport 'package:meta/meta.dart';/** * State中所有属性都应该是只读的 */@immutableclass CountState{ int _cou...原创 2020-01-13 18:51:14 · 339 阅读 · 0 评论 -
flutter 加载gif图片
flutter 加载gif图片flutter 显示动态GIF图片: CachedNetworkImage(imageUrl: avatar ?? '',fit: BoxFit.cover,placeholder: (context, url) => Center(child: Container(height: 40,width: 40,mar...原创 2020-01-09 17:32:30 · 9755 阅读 · 1 评论 -
flutter 返回桌面
flutter 返回桌面开发中经常遇到app返回不要退出程序,而是回到桌面即可 flutter端代码: _backDeskTop() async { //初始化通信管道-设置退出到手机桌面 String CHANNEL = "android/back/desktop"; final platform = MethodChannel(CHANNEL); /...原创 2020-01-08 17:25:26 · 1303 阅读 · 0 评论 -
flutter 生命周期
flutter 生命周期StatefulWidget.createState()Framework调用会通过调用 StatefulWidget.createState() 来创建一个 State。initState()新创建的 State 会和一个 BuildContext 产生关联,此时认为 State 已经被安装好了,initState() 函数将会被调用。通常,我们可以重写...原创 2020-01-08 17:16:45 · 352 阅读 · 0 评论 -
flutter 快速StatelessWidget转StatefulWidget
flutter 快速StatelessWidget转StatefulWidget有状态:交互或者数据改变导致Widget改变,例如改变文案无状态:不会被改变的Widget,例如纯展示页面,数据也不会改变快速StatelessWidget转StatefulWidget alt+enter 按照提示即可更多详解: 喜欢可以加群号:913934649 ...原创 2020-01-08 17:02:49 · 1436 阅读 · 0 评论 -
Flutter app 安卓iOS前后台切换监听
Flutter app 安卓iOS前后台切换监听class _MyAppState extends State<MyApp> with WidgetsBindingObserver { @override initState() { WidgetsBinding.instance.addObserver(this); } @override void...原创 2020-01-08 14:42:05 · 4236 阅读 · 0 评论