自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

菜鸟博客

不积跬步无以至千里

原创 Flutter之Widget构建过程详解

知识储备: Flutter之BuilderContext和Widget关系浅析 Fultter之Element和Widget对应关系解析 今天来详细谈谈Flutter的Element,了解了Element,Flutter的一些概念和框架就是“程序员头上的虱子,一眼看透了”(这他娘的什么比喻),话不...

2019-11-09 22:27:45 782 4

原创 Flutter之GlobalKey详解

博主打算通过登录功能来总结一下Flutter的相关知识点。为什么选择登陆功能呢?因为登录功能逻辑简单,很好抽象,功能也很普遍,这也是博主以此为突破口写android MVC和MVP探讨的原因。本系列应该不长,初步估计也就三篇左右,通过层层递进,慢慢地会勾勒出一个完整的登陆功能的demo,demo的...

2019-11-02 14:00:40 3454 7

原创 Flutter之Widget更新机制简单分析

本篇博客将要分析Widget的更新机制,在阅读这篇文章之前建议读者阅读Fultter之Element和Widget对应关系解析, 从Element和Widget对应关系这篇博文中可以知道有如下的表关系: ...

2019-03-25 14:36:05 1340 0

原创 从源码角度分析android事件分发处理机制

正式开始之前的准备工作: 之前也写过一篇《android事件拦截处理机制详解》的博客,通过博客的名字也可以知道那篇博客只是分析了android控件View对事件的拦截和处理,简单的总结如下: 1)父View优先拦截当前事件,拦截不成功就让子View对当前事件进行拦截。 2)如果拦截成功...

2015-12-08 12:18:12 5318 7

原创 android事件拦截处理机制详解

android 事件拦截处理机制详解

2014-11-13 19:43:33 43392 35

原创 Flutter之路由系列之LocalhistoryRoute
原力计划

Flutter提供了强大的路由管理功能,在这里就来梳理下Route的相关知识点。先来直观的看下Route的家族成员: 1、Route的install逻辑 咱们先来简单分析下Route,下来看看源码: abstract class Route<T> { RouteSetti...

2020-06-04 17:12:58 71 0

原创 Flutter之BottomSheet

在Flutter之SnackBar原理详解详细的介绍了SnackBar的使用极其原理,SnackBar主要功能是提供了一个简单的消息,虽然跟用户有一定的交互。但是其目的主要是提示性消息。且会自动消失。除了SnackBar之外,Flutter又提供了一个BottomSheet,该组件可以在屏幕底部展...

2020-05-29 14:53:52 71 0

原创 Flutter之SnackBar原理详解
原力计划

初次学习SnackBar控件,第一反应就是这货怎么感觉跟Android的Toast一样!使用起来确实简单 Snackbar的作用就是在屏幕的底部展示一个简短的消息,与此同时,Snackbar也可以与用户进行交互,实现效果如下图: 如上图所示SnackBar分成两个部分:内容区域(content)...

2020-05-28 11:18:03 123 0

原创 Flutter之SafeArea

博主相关资料: Flutter之MediaQuery 本篇博文比较简单,用四张图来对比说明下SafeArea的作用! 1、未使用SafeArea的代码: Widget build(BuildContext context) { return Container( color: Co...

2020-05-25 14:20:26 94 0

原创 设计模式之单例模式浅谈

面向对象的世界里,在一个系统或者应用的生命周期中,总会伴随着对象的大量创建和销毁。有的对象生命周期很短,如昙花一现;有的生命周期却很长,跟电视剧的主角一样可以活到最后一集。具有主角光环的这个对象就是单例对象。 单例模式的目的就是确保在系统或应用的生命周期中,一个类Class只有一个实例对象存在。 ...

2020-05-20 13:58:55 72 0

原创 Flutter动画系列之SizeTransition

SizeTransition为尺寸控制动画,其内部核心原理是其child外面包裹着一个Align,然后利用Align的widthFactor和heightFactor的性质,动态的改变父组件的大小,注意是父组件,不是子组件。Flutter之Align和AlignmentGeometry ...

2020-05-14 13:35:08 124 0

原创 Flutter之MediaQuery
原力计划

在学习Flutter的时候时不时会看到这个控件的使用,一直对该组件一知半解。本篇博文就梳理下相关知识点。 MediaQuery从源码上看是一个简单不过的Widget: class MediaQuery extends InheritedWidget { /// Creates a widget...

2020-05-01 21:22:16 241 0

原创 Flutter之RenderObjectWidget
原力计划

与本篇博文有关的参考资料: Flutter之ParentDataWidget Flutter之Widget构建过程详解 Fultter之Element和Widget对应关系解析 Flutter之BuilderContext和Widget关系浅析 在Flutter之ParentDataWidget一...

2020-04-27 09:10:07 193 0

原创 Flutter之ParentDataWidget
原力计划

Flutter除了StatelessWidget,StatelessWidget之外还有一类Widget,也就是ProxyWidget: 如上图所示ProxyWidget有两个直接子类:InheritedWidget和本篇博文的主角ParentDataWidget. ProxyWidget是什么...

2020-04-26 08:56:09 650 0

原创 Flutter之EdgeInsetsGeometry简析

没时间解释了,先来一段代码: Container( width: 200, height: 200, color:Colors.red, padding: EdgeInsets.all(10), child: Cont...

2020-04-17 16:20:08 313 0

原创 Flutter之ScrollView简析

ScrollView是一个抽象类,其具体的子类如下图所示: 本篇博文不会过多深入到ScrollView的细节里面,就简单的梳理下其布局流程。既然是有个抽象类,其提供了一个抽象方法: List<Widget> buildSlivers(BuildContext context); 该方...

2020-04-13 09:34:33 188 0

原创 Flutter之GridView简析
原力计划

博主很久之前的这篇文章《Flutter实战之顶部导航栏以及ListView简单应用》简单的写了下ListView的应用,ListView属于Flutter的ScrollView。本篇博文就来简单解析下ScrollView.先来看看ScrollView的结构: 本文主要讲下GridView ...

2020-04-08 17:19:56 128 0

原创 Flutter PageView简析

Flutter中的PageView有点类似于Android中的ViewPager,但是PageView提供了额外的配置,比如PageView既可以支持横向翻页也可以支持竖直翻页。今天就来简单的解析下这个控件。 PageView可以通过三种方式来创建: 1、通过构造器创建 2、通过PageView....

2020-03-30 17:42:46 1036 0

原创 Flutter之Positioned

关于该控件官方注释有这么一句: A [Positioned] widget must be a descendant of a [Stack],A widget that controls where a child of a [Stack] is positioned,意思是一个Position...

2020-03-19 15:48:26 349 1

原创 Flutter之Stack

博主初次接触Stack的时候,第一个感觉就是这玩意不就是跟Android的FrameLayout的效果一样的吗。都可以实现UI的叠加效果。在此简单的分析下这个控件,算是一个简单的学习笔记。 看看官方demo给的效果: 实现代码如下,简单的实现了红绿蓝三个色块的叠加 child: Stack( ...

2020-03-17 15:50:34 164 0

原创 Flutter之Align和AlignmentGeometry

Align是这么一个组件,它可以调整子组件的位置,并且根据子组件的宽和高来确定自身的宽和高! Align对象提供了一个alignment,用来控制子组件在父组件的位置。比如左上角,右上角,左下角,右下角等等。如果不设置的话,默认子组件相对于父组件居中展示。 Container( ...

2020-03-11 11:30:18 200 0

原创 Flutter之Container 简单分析

Container是一个组合类容器,其设计思路遵循着组合优先于继承原则,它本身是一个StatelessWidget,Container组件持有一个child控件,它的build方法返回的widge是对child控件的包装组合之后的结果。 比如child组件通过可能通过Padding,Decorat...

2020-03-10 15:37:37 146 0

原创 FlutterDialog的应用

Flutter 提供了几个Dialog弹框,在这里简单的分析下Dialog,AlertDialog,SimpleDialog如下表所示: 名称 Widget类型 说明 Dialog StatelessWidget 最基本的Dialog类型,里面包含一个child Widget;官方...

2020-01-07 17:38:52 799 0

原创 Flutter实战之AS快键键

Flutter开发中熟练掌握Android Studio的快捷键

2020-01-03 17:09:22 474 0

原创 Flutter实战之Builder和StatefulBuilder

考资料: Flutter之BuilderContext和Widget关系浅析 Flutter之Widget更新机制简单分析 Fultter之Element和Widget对应关系解析 Flutter之实战InheritedWidget详解 Widget _createButton() { ...

2020-01-01 10:28:54 904 0

原创 2019工作小结

2019年的工作小结用数字(表情)说话: 1、坚持写博客10年(自己都佩服自己) 2、发表博客40篇(环比增加15篇) 3、基本掌握1门新技术flutter(小有成就感) 4、精读了7本书,并做了相应的读书笔记(后面可能会忘记) 5、工作了6年(仍然没有脱贫) 6、0房0车0贷款(自行车...

2019-12-31 20:58:46 603 5

原创 Flutter之实战InheritedWidget详解

在Flutter之GlobalKey详解一文中博主通过简单的登录功能讲解了GlobalKey的作用,即可以通过它来获取Element当前的状态State对象,从而用状态对象实施一些控制。且在Flutter之GlobalKey详解后面留下了一个问题:我们本可以直接使用Form.of(context)...

2019-12-30 17:10:49 286 0

原创 Flutter实战之图片圆角和圆形简单实现

Flutter实战之Image源码简单解析这篇博文告诉我们Flutter的image控件显示图片的关键在于ImageProvider,Flutter提供了如下几种ImageProvider: 常规情况下Image控件就可以满足我们的需求,那么ImageProvider还有什么用呢?当然有!比如用...

2019-12-27 15:45:39 163 0

原创 Flutter实战之Image和FadeInImage

Flutter的Image 这个Widget提供了如下几种常用的方式加载不同的图片 Image.asset:用来加载本地资源图片(图片需要在pubsepc.yaml文件中配置) Image.file:用来加载本地File文件图片 Image.network:顾名思义,用来加载网络图片 Image....

2019-12-18 17:16:28 278 0

原创 Flutter实战之Dio网络库的简单使用

本篇博文涉及到的demo很简单,就是通过调用天气查询接口来显示城市的天气信息。通过本demo可以了解: 1、SityPicker的简单使用 2、Dio网络请求库的简单使用 3、Flutter对json的解析 本篇博文只是对关键地方略作说明,详细的代码请读者自行下载观看(源码传送门)。 运行效果如下...

2019-12-16 18:01:55 426 1

原创 Flutter实战之底部导航栏 BottomNavigation

BottomNavigationBar的作用就只在App的底部展示一个导航栏,先来看看具体运行效果(图1): 下面看具体实现,BottomNavigationBar是作为Scaffold的bottomNavigationBar属性来使用的,BottomNavigationBar对象有几个重要的属...

2019-12-11 16:57:10 312 0

原创 Flutter实战之登录demo

知识储备:Flutter之GlobalKey详解 本片博文是一个Flutter入门级的小应用,简单的模拟了登录功能,不过麻雀虽小五脏俱全,通过这个demo可以了解如下知识点: 1、Sqlite在Flutter的简单使用 2、TextFormField的简单使用 3、TextEditingContr...

2019-12-06 11:43:21 533 0

原创 RecyclerView之PagerSnapHelper原理解析(二)

通过RecyclerView之SnapHelper原理解析(一) 这篇文章可知只要实现RecyclerView.OnFlingListener接口,并将该接口的fling方法返回true就可以简单的将 RecyclerView作为ViewPager来使用,让RecycerView分页滑动,原理就是...

2019-11-27 10:45:27 819 1

原创 RecyclerView之SnapHelper原理解析(一)

想要了解SnapHelper的工作原理,就要知道Android View的滚动原理和RecyclerView的滚动原理,刚好博主对这方面写了详细的博客,在阅读本篇博文之前,建议对于View的滚动原理尚不熟悉的猿人们读一下博主的下面几篇博客,算是知识储备,当然不读也基本不影响本片博文的阅读: 《Vi...

2019-11-22 15:34:15 229 0

原创 Java线程拾遗(可重入锁)

对于锁的可重入锁来说,意味着某线程获取锁之后,该线程就可以进入任何一个该锁所同步着的代码块!!! 先举一个反面例子,非可重入锁!Java提供的sun.misc.Lock就是典型的非可重入锁。通过其源码可以看出来: public class Lock { private boolean locke...

2019-10-30 11:44:30 231 0

原创 SwipeToLoadLayout源码解析

前言 关于自定义View,对于Android面试来说几乎是必问的。 其实关于自定义view这个问题其实就是想问你就是Android的测量,布局以及绘制的流程,这个 问题如果经常研究Android一些view的源码的话,其实也很容易,比如LinearLayout的布局或者一些第三方控件, 自定义vi...

2019-10-28 18:19:43 190 0

原创 ThreadLocal原理浅析

ThreadLocal即线程局部变量的意思!所以什么是线程局部变量?这玩意有什么鸟用?是不是面试被问到了说不出个一二三?今天就来扒一扒这货的源码,从根本上了解这货是干啥的。 其实研究下来他的源码实现,其实也没想象的那么复杂,其最主要有以下几点: 1、每一个Thread对象都有一个ThradLo...

2019-09-27 20:51:19 1177 4

原创 java线程知识点拾遗(排队CAS)

在java线程知识点拾遗(CAS)这篇文章中简单的介绍了cas的概念,但是普通的cas是有一个非公平的问题,多个线程需要共享资源的时候可能造成忙等待问题,一言以蔽之就是可能后请求共享资源的线程可能比先请求资源的线程优先获取到资源。 用个例子来说明cas的非公平性,代码如下: public clas...

2019-08-28 15:16:52 203 2

原创 java线程知识点拾遗(CAS)

CAS:简单的来说就是比较交换!那么比较的是什么?交换的又是什么呢? CAS有三个操作数,V,A,B。要比较的就是V和A,当V和A相等的时候,就将V的值更新为B. 感觉就像“天王盖地虎”对“小鸡炖蘑菇”一样,暗号对上了(V==A)就可以进行下一步的操作(更新)了 上面这段描述可以简单的伪代码表示为...

2019-08-19 15:33:00 485 1

原创 java线程知识点拾遗(1)

作为一个android开发者的我来说,面试最怕问的问题就是问多线程方面的,问之必死~~。因为android monkey在开发中多线程开发的场景使用起来几乎没有,所以就滋生了自己的懒惰性,人家说哪里跌倒哪里爬起来,这工作几年了也没爬起来,有点小羞愧。于是准备抽点时间好好研究下这个东东。 不要逼我,...

2019-08-12 15:44:33 174 0

提示
确定要删除当前文章?
取消 删除