__卓原
码龄9年
  • 1,208,946
    被访问
  • 125
    原创
  • 197,231
    排名
  • 416
    粉丝
关注
提问 私信

个人简介:程序员~

  • 加入CSDN时间: 2013-07-01
博客简介:

卓原的进化之旅

博客描述:
活到老,学到老
查看详细资料
  • 4
    领奖
    总分 921 当月 35
个人成就
  • 博客专家认证
  • 获得328次点赞
  • 内容获得421次评论
  • 获得645次收藏
  • GitHub 获得536Stars
创作历程
  • 8篇
    2021年
  • 22篇
    2020年
  • 14篇
    2019年
  • 58篇
    2018年
  • 28篇
    2017年
成就勋章
TA的专栏
  • flutter
    50篇
  • react native
    52篇
  • 算法
    3篇
  • java
    3篇
  • kotlin
    4篇
  • React-Navigation
    8篇
  • react-native-firebase
    6篇
  • react-native
    53篇
  • react
    15篇
  • android
    32篇
  • 移动开发
    28篇
  • ios
    9篇
  • 文档
    1篇
  • JavaScript
    10篇
  • github
    1篇
兴趣领域 设置
  • 移动开发
    flutter
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Flutter Key的原理和使用(五) 需要key的实例:可拖动改变顺序的Listview

Flutter Key的原理和使用(一) 没有Key会发生什么Flutter Key的原理和使用(二) Widget 和 Element 的对应关系Flutter Key的原理和使用(三) LocalKey的三种类型Flutter Key的原理和使用(四) GlobalKey 的用法之前呢,我们介绍了flutter中的几种key,它们相应的原理和使用方式, 这次就来复习一下,看看一个需要用到key的实例.ReorderableListView你可能使用过ListView组件,它可以调整,显示和滚
原创
发布博客 2021.09.07 ·
454 阅读 ·
2 点赞 ·
0 评论

Flutter Key的原理和使用(四) GlobalKey 的用法

Flutter Key的原理和使用(一) 没有Key会发生什么Flutter Key的原理和使用 (二) Widget 和 Element 的对应关系Flutter Key的原理和使用(三) LocalKey的三种类型上一章,因为标题的原因哈,没有介绍到关于GlobalKey的内容,今天来讲一讲GlobalKey.GlobalKey是在整个应用程序中唯一的键。我们之前讲到,LocalKey是局部键,所以出现层级改变的时候:Column( children: [ Box(Color
原创
发布博客 2021.09.06 ·
1078 阅读 ·
2 点赞 ·
0 评论

Flutter Key的原理和使用(三) LocalKey的三种类型

我们在上一章说到,同一级中相同类型的Widget不给它传Key的话,Flutter有时候就会出现分不清它们之间的对应关系,尤其是Widget之间的顺序发生改变的时候. 此时,我们就需要传个key给它.Key的种类Key有两个子类:LocalKey 局部键,在同一级中要唯一,可以理解为同级唯一性GlobalKey 全局键 , 在整个App中必须是唯一的.从性能上来讲,如果不需要用到GlobalKey的话,尽量不用,LocalKey因为只对比同一级别,因此会快很多.上一章也说过,在父级或者子级是不
原创
发布博客 2021.09.03 ·
323 阅读 ·
1 点赞 ·
0 评论

Flutter Key的原理和使用 (二) Widget 和 Element 的对应关系

Flutter Key的原理和使用(一) 没有Key会发生什么上一篇文章中,我们遇到了一个问题 , widget换位置的时候,出现了一些意外,并没有按照我们所想去调换位置, 这时候我们就很困惑, 那是在我们看来,写了一个widget,那这个widget就该按照我们设定的那样展示, 但实际上, widget并不是最终出现在屏幕上的东西.Widget Tree可能有人听说过Widget Tree , 就是嵌套着widget的东西.比如现在这段代码:Column( children: [ B
原创
发布博客 2021.09.02 ·
251 阅读 ·
1 点赞 ·
0 评论

Flutter Key的原理和使用(一) 没有Key会发生什么

在flutter中,几乎每个widget都有一个Key,但是我们使用的时候一般不会传Key , 那么这个Key,它到底是干什么用的呢? 几乎每个widget都有,但我们又很少用到它. 那到底什么时候才需要用呢?接下来,我们看一下,在需要Key的时候不用key,会发生什么情况.先举个常见的例子:Column( children: [ Container(width: 100, height: 100,color: Colors.red), Container(width: 100,
原创
发布博客 2021.09.01 ·
361 阅读 ·
3 点赞 ·
0 评论

Flutter空安全相关操作符

健全的空安全已在 Dart 2.12 和 Flutter 2 中可用需知当你选择使用空安全时,代码中的类型将默认是非空的,意味着 除非你声明它们可空,它们的值都不能为空。有了空安全,原本处于你的 运行时 的空值引用错误将变为 编辑时 的分析错误。? 允许变量为nullint a = null;一般来说,int类型的变量无法赋值为null , 在加入空安全后,编译器会报错。若你想让变量可以为 null,只需要在类型声明后加上 ?。int? aNullableInt = null;String
原创
发布博客 2021.07.12 ·
615 阅读 ·
0 点赞 ·
2 评论

Flutter Provider Selector

Selector 源码:class Selector<A, S> extends Selector0<S> { /// {@macro provider.selector} Selector({ Key? key, required ValueWidgetBuilder<S> builder, required S Function(BuildContext, A) selector, ShouldRebuild<S>
原创
发布博客 2021.06.24 ·
253 阅读 ·
0 点赞 ·
0 评论

flutter_bloc使用及部分源码分析

flutter_bloc 是一个bloc第三方库,这个库很方便的让你集成bloc模式,这个库结合了RXDart。目前我们项目中就有用到rxdart。bloc模式BLoC是一种利用reactive programming方式构建应用的方法,这是一个由流构成的完全异步的世界。常用的概念简介reactive programming: 响应式编程 , 一种基于事件模式的模型。Stream:流是一系列异步的数据.。Observable实现并扩展了Stream。它将常用的stream和strea
原创
发布博客 2021.01.19 ·
490 阅读 ·
0 点赞 ·
1 评论

解决flutter 引入的package国际化无效的问题

解决flutter intl 引入的库内国际化失效的问题问题发生场景你引入了几个module,这几个module分别做了国际化,例如以下4个module ABCD,最后发现只有A的国际化效果可以使用,其他module无效:localizationsDelegates: const [ moduleA.S.delegate, moduleB.S.delegate, moduleC.S.delegate, moduleD.S.
原创
发布博客 2020.12.14 ·
1670 阅读 ·
0 点赞 ·
0 评论

Flutter Firebase - FlutterFire基础配置

Flutter集成FirebaseFlutterFire是一套Flutter插件,可将Flutter应用程序连接到Firebase。首先要创建一个Firebase项目这一步跟这Firebase的流程走就可以Android安装在Android上使用FlutterFire之前,必须首先使用Android应用程序连接到Firebase项目。生成Firebase项目配置文件在Firebase控制台上,为您的Firebase项目添加一个新的Android应用程序或选择一个现有的Android应用程序。
原创
发布博客 2020.12.08 ·
901 阅读 ·
1 点赞 ·
0 评论

Flutter FCM - Flutter集成Firebase Cloud Messaging(FCM)

Firebase Cloud MessagingFirebase Cloud Messaging(FCM)是一种跨平台的消息传递解决方案,可让您可靠地免费发送消息。使用FCM,您可以通知客户端应用程序可以同步新电子邮件或其他数据。您可以发送通知消息来推动用户的重新参与和保留。对于即时消息之类的用例,一条消息可以将最多4 KB的有效负载传输到客户端应用程序。以下内容基于flutter 1.22.4版本安装1.添加依赖项dependencies: flutter: sdk: flutte
原创
发布博客 2020.12.08 ·
1543 阅读 ·
2 点赞 ·
2 评论

flutter 1.22版本@required被替换成了required

解决方法:将pubspec.yaml中的environment改为以下内容:environment: sdk: ">=2.10.1 <3.0.0"并重启ide即可。原因这个是最近空安全的修改。现在,required是dart 2.10中的关键字。如果flutter版本升级到1.22,dart版本会随之升级上来,所以正常运行没有错误,但是编译器会报错。...
原创
发布博客 2020.11.04 ·
4154 阅读 ·
2 点赞 ·
1 评论

Flutter 代码混淆 混淆Dart代码

代码混淆Flutter的代码混淆flutter的代码混淆就是混淆dart代码。代码混淆是修改应用程序二进制文件的过程,以使人们更难以理解。混淆将函数名和类名隐藏在已编译的Dart代码中,从而使攻击者很难对您的专有应用程序进行反向工程。Flutter代码混淆的做法Flutter版本小于1.16Android将以下行添加到<ProjectRoot> /android/gradle.properties:extra-gen-snapshot-options=--obfuscate有
原创
发布博客 2020.10.23 ·
3968 阅读 ·
1 点赞 ·
1 评论

flutter 分享到whatsapp

android无需额外配置ios:<key>LSApplicationQueriesSchemes</key><array> <string>whatsapp</string></array>flutter :需要 url_launcher_launchWhatsapp() async {const url = "https://wa.me/?text=Your Message here";var encod
原创
发布博客 2020.09.29 ·
559 阅读 ·
0 点赞 ·
0 评论

FractionallySizedBox 按比例设置Widget的尺寸

FractionallySizedBox 按比例设置Widget的尺寸有时候,应用的设计是按比例给出的,例如这样 : 按钮应该占应用宽度的70%这时可以使用FractionallySizedBox来实现.构造方法const FractionallySizedBox({ Key key, this.alignment = Alignment.center, this.widthFactor, this.heightFactor, Widget child,}) 我们先看一下
原创
发布博客 2020.08.22 ·
784 阅读 ·
0 点赞 ·
0 评论

Flutter国际化 多语言 使用Flutter intl插件实现多语言

准备工作搜索插件 : Flutter Intl项目配置添加依赖:dev_dependencies:... //add this flutter_localizations: sdk: flutter在菜单栏的Tool下找到Flutter Intl 并选择Initalize for the project, 配置结束后效果如下:会在 pubspec.yaml中增加以下字段flutter_intl: enabled: true会在lib目录下增加 g
原创
发布博客 2020.08.20 ·
9117 阅读 ·
8 点赞 ·
6 评论

Flutte接入firebase messaging(FCM)

flutter接入firebase messaging其实文档说的还算比较详细,但有些东西没有更新,照着文档无法正常集成。pub地址使用添加依赖 # firebase firebase_messaging: ^6.0.16Android配置在firebase后台添加应用使用Firebase控制台将Android应用添加到您的项目中:跟随助手,下载生成的google-services.json文件,并将其放置在android / app中。dependencies {
原创
发布博客 2020.08.14 ·
2534 阅读 ·
2 点赞 ·
6 评论

flutter textField设定高度后,文字无法居中

今天遇到了一个关于TextField的问题:如果给textField设定的布局高度小于它的默认高度,那么它的居中就会有问题.修改后的效果:代码:Container( color: Colors.black12, constraints: BoxConstraints(maxHeight: 30), child: TextField( textAlignVertical: TextAl
原创
发布博客 2020.08.08 ·
4747 阅读 ·
4 点赞 ·
0 评论

Android View的绘制过程复习

Android View的绘制过程DecorView是一个应用窗口的根容器,它本质上是一个FrameLayout.DecorView有唯一一个子View,是一个垂直的LinearLayout,包含两个子元素:TitleView(ActionBar的容器) 和 ContentView(窗口内容的容器).ContentView是一个FrameLayout(android.R.id.content),我们平时用的setContentView就是设置它的子View.上图还表达了每个Activity都与一个
原创
发布博客 2020.06.26 ·
340 阅读 ·
0 点赞 ·
0 评论

JVM复习总结

JVM运行时数据区域根据《Java 虚拟机规范(Java SE 7 版)》规定,Java 虚拟机所管理的内存如下图所示。程序计数器内存空间小,线程私有.字节码解释器工作时就是通过改变程序计数器的值来选取下一条需要执行指令的字节码指令(主要是取下一条指令的字节码文件).分支,循环,跳转,异常处理,线程恢复等基础功能都依赖程序计数器来完成.如果线程正在执行一个Java方法,这个计数器记录的是正在执行的虚拟机字节码指令的地址 ;如果正在执行的是Native方法, 这个计数器记录的值为(U
原创
发布博客 2020.06.25 ·
248 阅读 ·
1 点赞 ·
0 评论
加载更多