flutter插件:flex_color_scheme 美观主题配色

flex_color_scheme | Flutter Package (flutter-io.cn)void main() => runApp(const DemoApp()); class DemoApp extends StatefulWidget { const DemoApp({Key key}) : super(key: key); @override _DemoAppS

Flutter 页面切换后保持原页面状态

前言:在 Flutter 应用中,导航栏切换页面后默认情况下会丢失原页面状态,即每次进入页面时都会重新初始化状态,如果在initState中打印日志,会发现每次进入时都会输出,显然这样增加了额外的开销,并且带来了不好的用户体验。在正

动画的原理以及Tween与Curve的使用

前言 不管是Android还是IOS,我们都能看到用户在使用动画,交互动画可以作为用户的操作向导,不让操作乏味无趣,可以说没有动画的APP,是没有灵魂的App。本篇将讲解在Flutter中如何使用。 动画的原理 提到动画原理,就不得不

Flutter手势操作 ---全局坐标与局部坐标的获取

全局坐标与局部坐标在GestureDetector中有两个重要属性值globalPosition和localPosition,两者都是Offset对象。 globalPosition就像它的命名表示当前手势触点在**全局坐标系位置与对应组件顶点坐标的偏移量(dx,dy); loca

组件通信(父子、兄弟)

一,概述    flutter一个重要的特性就是组件化。组件分为两种状态,一种是StatefulWidget有状态组件,一种是StatelessWidget无状态组件。 无状态组件不能更新状态,有状态组件具有类似刷新的机制,可更改状态。   功能模

flutter全局事件总线eventBus

eventBus 基本使用步骤1、 在 pubspec.yaml 包文件中添加包文件名,并通过 flutter package get 下载包依赖 event_bus: ^1.1.12、 在需要使用 eventBus 的组件中引入包依赖文件 import 'package:event_bus/event

Flutter 强大的MediaQuery控件

注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0MediaQuery通常情况下,不会直接将MediaQuery当作一个控件,而是使用MediaQuery.of获取当前设备的信息,用法如下:var data = Medi

flutter 文字轮播滚动效果

我这里要实现的效果是一个垂直滚动的消息轮播,子视图的显示很自然的想到使用PageView来包裹,我们要做的有两件事 控制自动轮播 消息无限循环 第一个问题我们只需要新建一个Timer对象,定时调用PageView的翻页即

flutter插件 aar引入 2

目的: 在 flutter Plugin中引入 aar引言:Android项目中引入aar,直接放在本地,在gradle中implementation即可,同样操作在Flutter项目却报错not found aar,如此需要其他解决方法。本文中介绍一种自己项目中运用到的maven引

Flutter 插件开发之引入aar到安卓部分 并使用本地maven

本篇只包含 android 部分, iOS 的 framework 直接在 podspec 中引入就可以了,所以本篇略过不表做过安卓开发的朋友可能知道, aar 文件如果作为本地文件直接引入 library, 然后 app 引用 library 是会报找不到aar的,

windows环境下TP5.1使用think-worker(Workerman/GatewayWorker)

文章目录 首先是解决如何运行gatewayworker 调试gatewayworker程序 向指定客户端发送消息 在TP框架中调用Gateway的API 总结说明 测试环境 windows10;PHP7.2;TP5.1;这里只介绍如何使用TP集成的workerman扩展

TP6中GatewayWorker的用法

一、参考网站tp开发手册:https://www.kancloud.cn/manual/thinkphp6_0/1147857workman与tp框架结合参考:http://doc2.workerman.net/work-with-other-frameworks.html开发手册只介绍了Workman的使用方法,没有介绍Gateway

tp6 win10下启动Gateway-Worker

thinkphp版本:5.1 tp5.1运行命令行php think worker:gateway出现GatewayWorker Not Support On Windows.是因为在tp5.1的命令行中做了判定,不支持windows环境下运行。 这里不支持windows环境并不是说gateway worker不

RESTful 架构详解

RESTful 架构详解

1. 什么是RESTREST全称是Representational State Transfer,中文意思是表述(编者注:通常译为表征)性状态转移。 它首次出现在2000年Roy Fielding的博士论文中,Roy Fielding是HTTP规范的主要编写者之一。 他在论文中提到:"我

子类继承父类方法访问权限的问题

很多笔试题中,会出现子类继承父类放法的访问权限变更的问题。 今天还专门敲了一下代码。 访问控制权限:public > protected > default > private 说明:default和protected,default是在包内,而protected可以是包外。 父

tp6 查询构造器和模型添加代码提示

文件头部添加以下注释: 代码提示 Model.php vendor/topthink/think-orm/src/Model.php /** * Class Model * @package think * @mixin Query * @method void onAfterRead(Model $model) static after_read

flutter2.0 空安全 Sound null safety

简介空安全(Sound null safety)是 Dart 2.12 中新增的一项特性,空安全特性并不是 Dart 独有的,Kotlin, TypeScript, C#, Swift 等语言都有此特性,如果你了解这些语言的空安全特性及用法,那么下面关于 Dart 语言空安全特性

Jetbrains重复重置试用方法

拖入插件,然后勾选auto per restart

idea安装汉化插件后使用flutter调试灰屏解决方法

使用idea,开发flutter应用在安装官方chinese lang插件后会发现点击run 开始按钮,调试界面灰屏,没有任何显示 其实是汉化插件bug导致的 解决方法;删除 idea配置文件如: 比如配置文件夹为:D:\Mydocument\Documents\Int

求圆心到点的直线与圆的相交点.

若O(x1,y1),A(x2,y2)满足OA>r。 则向量OA=(x2-x1,y2-y1),可设向量OB=(m,n),则有:m(y2-y1)-n(x2-x1)=0且(m-x1)²+(n-y1)²=r²。 解得B((x2-x1)r/√(x2-x1)²+(y2-y1)²,(y2-y1)r/√(x2-x1)&s

Flutter 空安全 null safety

随着 Flutter 1.20 正式版的发布,Dart 2.9 中的 null safety 已经可以是试验性使用,所以本篇翻译将介绍 Dart 中的 null safety 是什么。对于 Dart 团队而言今天是 null safety 技术预览的一个重要里程碑,null safety 可

强制类型转换-其实就是向下转型

用(String)做强制类型转换和用String.valueOf()区别在于:String 就是直接强制转化成String型的字符串,且有优先级限制,像int i=123;不能String s=(String)i。而String.valueOf()里面的参数转换可以是double、long、char

flutter 事件穿透

Listener( child: body, onPointerDown: (enter){ print("onPointerEnter"); if (onTap != null){ onTap(); } }, ), InkWell( onTap: () {}, child: Gest

Flutter的生命周期(交互) 当前Frame(帧率)绘制完后进行回调(addPostFrameCallback)

1. 组件渲染前面部分,已经介绍过了,组件的构建渲染=> 传送门2. 前后台交互在我们原生Android(或者IOS)开发中,很多是否要在对应的生命周期做一些事件,例如App从后台进入前台,从前台退入后台(或被遮盖),以及需要在确保UI绘制后做

Matrix4矩阵变换

这个是用来变换的矩阵,总计需要16个参数也可以理解成4*4的矩阵。 具体有以下参数: scale:缩放比例 transform: 移动 rotationZ:绕Z轴旋转 rotationX:绕X轴旋转 rotationY:绕Y轴旋转 columns:设置一个新的矩阵 compose:复合