flutter
文章平均质量分 50
flutter技术总结分享
絮语时光
移动应用开发
展开
-
flutter widget创建过程
StatelessWidget 创建 -> createElement() -> [ StatelessElement{_dirty = true _active = true} -> Mount() -> _filstBuild() -> rebuild() -> performRebuild()] -> build() -> widget.build()StatefulWidget创建-> createElement()->[Stat原创 2021-02-18 10:40:05 · 280 阅读 · 0 评论 -
flutter的UIKitView和platformview之iOS
flutter添加iOS原生的platformview,遇到的问题://关于编码格式一定要和ios那边统一,并且和传递的参数类型匹配,//如果flutter传递的是json,map,编码必须是JSONMessageCodec,//flutter传递的是string,编码必须是Stringcodec,否则会出错,加载不了viewflutter代码:@override Widget build(BuildContext context) { return Scaffold(原创 2021-01-16 14:58:38 · 1321 阅读 · 0 评论 -
flutter纹理之iOS
需求播放h264格式的视频,在iOS端进行解码得到CVpixelbuffer,在flutter上播放,用到纹理。flutter端:1,创建一个MethodChannel _channel = MethodChannel(‘opengl_texture’);用来和iOS端通信,主要是从iOS端获取_textureID,2,把Texture(textureId: _textureID,)添加到widget上,这个用来播放视频的,原理是从底层获取iOS端的CVpixelbuffer,把CVpixelbu原创 2021-01-16 13:11:08 · 1665 阅读 · 2 评论 -
flutter 地图map view
关于flutter插件地图的使用flutter_mapflutter_mapA Dart implementation of Leaflet for Flutter apps.一个基于leaflet的地图插件,也就是说flutter_map基于的是瓦片地图,那么在兼容性上可以说比较好用了。横向对比目前主要的地图插件主要有: flutter_map map_view``amapmap_view先说下map_view这个插件,这个插件主要是用来展示google map使用。 由于一个我们都知道的原原创 2021-01-14 19:14:40 · 405 阅读 · 0 评论 -
新版本flutter混编安卓没有flutter类
Flutter升级到1.12后遇到的问题前些日子评论区里wangwhatlh同学反馈遇到了程序包io.flutter.facade不存在问题,起初我运行了一下之前的项目,发现可以正常运行,加上我自己有一段时间没有用过Flutter了,也就没太重视这个问题。说来也是惭愧,最近又陆续有多位小伙伴反馈了这个问题,我才终于意识到这是一个普遍性问题,简单查了一下了解到这个错误是Flutter 1.12版本废弃了io.flutter.facade包导致的,我自己更新了Flutter版本后重新运行项目也遇到了这个问题原创 2021-01-13 19:53:23 · 1190 阅读 · 0 评论 -
android混编flutter
首先Android工程文件要和flutter在同级目录;1)创建flutter moduleflutter create -t module flutter_m2)在Android项目的 setting_gradle 里面添加setBinding(new Binding([gradle: this, mainModuleName: '安卓工程名']))evaluate(new File( settingsDir.parentFile, 'flutter_m/.an原创 2021-01-13 18:45:29 · 220 阅读 · 0 评论 -
iOS项目中混编flutter和打包发布
如果已有iOS项目,并且想在项目中添加flutter,可以按照以下方法处理。1首先iOS项目同级目录下创建一个flutter_module,这个同级目录不是在iOS项目的文件里面,flutter create -t module flutter_moduleAPPSS是我的以前的iOS项目文件,然后再同级目录下创建flutter_m在podfile文件添加flutter_application_path = '../flutter_m'load File.join(flutter_appli原创 2021-01-13 16:24:21 · 726 阅读 · 1 评论 -
flutter本地存储
flutter文件在pubspec.yaml添加一下依赖dio: ^3.0.8shared_preferences: ^0.5.3+5localstorage: ^2.0.0path_provider: ^1.6.5import 'dart:io';import 'package:flutter_file_path_provider/flutter_file_path_provider.dart';import 'package:localstorage/localstorage.dart原创 2021-01-07 14:02:38 · 724 阅读 · 0 评论 -
flutter图片资源管理
Android studio安装flr插件;安装完成后选在tools-》flr-》init 生成r.g.dart文件使用是直接导入r.g.dart文件,使用R.image.图片名称pubspec.yaml添加intl: ^0.16.0flutter_svg: ^0.19.0r_dart_library: git: url: https://github.com/YK-Unit/r_dart_library.git ref: 0.2.1// ignore: un原创 2021-01-07 13:21:29 · 782 阅读 · 1 评论 -
flutter国际化
默认情况下,Flutter仅提供美国英语本地化。要添加对其他语言的支持,应用程序必须指定其他MaterialApp属性,并包含一个名为的单独包-“flutter_localizations”。 截至2017年10月,该软件包支持15种语言。要使用flutter_localizations,请将该包作为依赖项添加到您的pubspec.yaml文件中:dependencies: flutter: sdk: flutter flutter_localizations: sdk: flu原创 2021-01-05 17:11:29 · 924 阅读 · 0 评论 -
flutter自定义路由转场动画
自定义路由转成动画自定义转成路由需要继承PageRouteBuilder并在重写父类方法中实现转成方法的class CustomTransitionRouteBuilder extends PageRouteBuilder { final Widget widget; SlideTransitionRouteBuilder( this.widget) : super( //动画时间 transitionDuration: const Duration(mi原创 2021-01-05 15:48:30 · 638 阅读 · 0 评论 -
flutter路由
flutter路由管理使用路由根widget必须是MaterialApp,MaterialApp内部会自动创建一个Navigator和管理Navigator的上下文。Navigator最常用的两个方法是push和pop,push是添加一个新页面,pop是退出这个页面。push://push();参数是一个抽象类,需要使用子类MaterialPageRoute,//可通过路由传递值,返回值是pop时传递的值var result = await navigator.push(MaterialPage原创 2021-01-05 15:32:55 · 155 阅读 · 0 评论