目录手机权限检查和申请简介插件安装基本使用获取权限状态申请权限用户拒绝权限请求后的处理封装手机权限检查和申请简介使用flutter进行app开发,一定会用到手机的部分权限,包括通知推送、定位、相册、存储、相机、麦克风等。而权限的检查和获取,最受欢迎的就是通过permission_handler这个插件来实现。插件安装flutter pub add permi ......
425
0
0
2023-06-17
目录前言Theme 的基本使用方式1. Theme 的注册2. 读取 ThemeData 里的配置:小技巧介绍ThemeData 内置字段不够用,如何扩展?如何实现一键换肤1. 首先在 yaml 新增引入 provider2. 创建主题枚举3. ThemeData 进行一层封装处理4. 创建一个主题管理类 ThemeConfig5. 通过ThemeData进 ......
270
0
0
2023-06-17
目录引言1. FlutterPlugin 创建2. 创建 Android 控件3. 注册 Android 控件4. 封装 Android 层通信交互 ‘CustomViewController’代码说明5. 在 flutter 中如何使用已注册的 Android 控件(view)代码说明如何使用这个View6. 附上 example 完整代码引言小编最近在项 ......
233
0
0
2023-06-17
目录前言展示1. 风车 1 的绘制2. 风车 2 的绘制3. 旋转动画的处理4. 旋转动画的圈数前言展示最近源码看得比较多,本文来画点东西调节下心情,本绘制已收录于 FlutterUnit 的绘制集录,本文源码可参见【windmill.dart】 。绘制内容非常简单,如下所示,两个样式的小风车:通过这两个小例子,可以学到:路径的使用画板的旋转变换动画曲线与 ......
258
0
0
2023-06-14
目录加载本地图片圆角本地图片效果图代码加载网络图片-本地图片占位图加载网络图片-loading效果代码圆角、边框、渐变总结加载本地图片在项目目录下创建assets文件夹,再在其文件夹下创建images文件夹,后面将需要的图片复制到其中即可在pubspec.yaml文件中添加引用flutter: uses-material-design: true ......
269
0
0
2023-06-11
目录SuperText富文本设计方案RichText原理方案设计解析代码设计节点定义Span构造器定义SuperText定义可以修改TextStyle的Span构造器效果展示结语SuperText富文本设计方案Flutter中要实现富文本,需要使用RichText或者Text.rich方法,通过拆分成List<InlineSpan>来实现,第一感 ......
307
0
0
2023-06-10
目录ListView的默认构造函数定义默认构造函数ListView.builder ListView.separated固定高度列表ListView 原理实例:无限加载列表添加固定列表头总结ListView的默认构造函数定义ListView是最常用的可滚动组件之一,它可以沿一个方向线性排布所有子组件,并且它也支持列表项懒加载(在需要时才会创建)。我 ......
266
0
0
2023-06-09
目录Flutter 适配组件1. MediaQuery2. LayoutBuilder3. OrientationBuilder4. Expanded 和 Flexible5. FractionallySizedBox6. AspectRatioFlutter 适配组件在 Flutter 我们只需要掌握一些 Widget 即可,实际的开发过程中,我们也只需要 ......
257
0
0
2023-06-09
目录前言两种使用模式Cubit模式最后前言目前Flutter三大主流状态管理框架分别是provider、flutter_bloc、getx,三大状态管理框架各有优劣,本篇文章将介绍其中的flutter_bloc框架的使用,他是bloc设计思想模式在flutter上的实现,bloc全程全称 business logic ,业务逻辑的意思,核心思想就是最大程度的 ......
305
0
0
2023-06-08
目录正文构造函数页面缓存KeepAliveKeepAliveWrapper总结正文如果要实现页面切换和 Tab 布局,我们可以使用 PageView 组件。需要注意,PageView 是一个非常重要的组件,因为在移动端开发中很常用,比如大多数 App 都包含 Tab 换页效果、图片轮动以及抖音上下滑页切换视频功能等等,这些都可以通过 PageView 轻松实 ......
309
0
0
2023-06-07
目录粒子运动概念如何保持持续运动 创建粒子对象创建粒子控制器初始化粒子创建画板多粒子实现八大行星加速度自由落体弹跳总结粒子运动概念粒子运动是将对象按照一定物理公式进行的自定义轨迹运动,与普通动画不同的是,它没有强制性的动画开始到结束的时间概念,因为粒子的运动开始到结束的时间并不是固定的,而是由具体场景的物理运动公式来决定的,什么时候结束由你来定,例 ......
336
0
0
2023-06-07
目录1.Navigator使用简介2.fluro1.配置2.使用方法3.路由拦截3.封装1.Navigator使用简介使用Flutter 的Navigator 导航器可以实现页面的跳转,Navigator的使用方法简单介绍一下:页面跳转:Navigator.push<void>( context, MaterialPageRoute( ......
304
0
0
2023-06-06
目录ImageCache_pendingImages、_cache、_liveImagesmaximumSize、currentSizeclearevict_touch_checkCacheSize_trackLiveImageputIfAbsentclearLiveImages答疑解惑ImageCacheconst int _kDefaultSize = ......
249
0
0
2023-05-10
目录一、问题二、思路三、实现四、使用五、缓存清理一、问题Flutter原有的图片缓存机制,是通过PaintingBinding.instance!.imageCache来管理缓存的,这个缓存缓存到的是内存中,每次重新打开APP或者缓存被清理都会再次进行网络请求,大图片加载慢不友好,且增加服务器负担。二、思路1、查看FadeInImage.assetNetwo ......
242
0
0
2023-05-10
Flutter 中 Channel 基本概念1. Flutter 中 Channel 的概念Channel 也就是通道的意思,主要是用于和原生Native之间进行交互 ,双方相互传递数据。Channel 在Native的端就是一个类。2. Flutter 中 Channel 有哪些三种Channel之间互相独立,各有用途,但它们在设计上却非常相近。Basic ......
309
0
0
2023-05-02