组件通信(父子、兄弟)

一,概述    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:复合

flutter曲线纸飞机

用到的知识点 Matrix4矩阵 贝塞尔曲线第一步:画出目标运行大致轨迹路线首先我们先画一条二阶贝塞尔曲线,这样我们能更直观的观察到目标移动的大致轨迹。我们先确定二阶贝塞尔曲线的三个点:p0(开始点)、p1(控制点)、p2(结束点),

复用Widget提高build性能

StatefulWidget根据state的变化会进行rebuild,所有子widget也会随之rebuild。通过diff可以避免element的更新,因为element的更新成本很高。相比较来说widget的创建和rebuild则要轻量的多,理论上反复进行也无伤大雅。但是

Flutter性能优化实践 —— UI篇

1.前言flutter_deer这个项目开源也近一年了,目前收获了3100+的star,这无疑是对这个项目的最大认可。虽然从功能和UI看来和一年前的没什么区别。不过这期间我不断在优化它,希望它的性能和体验越来越好。这篇集中整理了dee

ValueListenableBuilder 局部刷新

更详细介绍:https://cloud.tencent.com/developer/article/1768428 ValueListenableBuilder ValueNotifier在开发应用程序的时候有些数据是全局的,贯穿整个应用程序,比如用户信息,我们希望当这些数据发生变化时,应用程