自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 Eventbus概述

EventBusEventBus可以分为3个部分:register,unregister和postregisterregister又可以分为2部分:找出类里面注册的方法 和 把方法保存起来找方法这部分,我画了个图: 方法的查找是由SubscriberMethodFinder这个类完成的 首先用到了缓存,METHOD_CACHE这个map,缓存了每个Class类型对应...

2018-07-19 21:43:43 407

原创 RecyclerView的onLayout浅析(二)

上一篇 RecyclerView的onLayout浅析(一)现在来到dispatchlayoutstep3 其中的这段if (mState.mRunSimpleAnimations) { // Step 3: Find out where things are now, and process change animations. // trave

2017-08-07 18:21:21 595

原创 RecyclerView的onLayout浅析(一)

首先要感谢几位大神的分析 RecyclerView剖析 深入浅出 RecyclerView 掌握自定义LayoutManager(二) 实现流式布局 谈谈RecyclerView的LayoutManager(建议结合源码观看) onLayout的主要部分就是3个方法: dispatchLayoutStep1,dispatchLayoutStep2,dispatchLayoutSte

2017-08-06 23:37:38 2783

原创 RecyclerView的touch事件

RecyclerView的onInterceptTouchEvent(MotionEvent e)和onTouchEvent方法比较类似,这里就只分析onTouchEvent首先看到 dispatchOnItemTouch(MotionEvent e) 方法private boolean dispatchOnItemTouch(MotionEvent e) { final int a

2017-08-04 18:14:08 7597

原创 LinearLayoutManager浅析

刚开始我想从onLayoutChildren开始看起,看得一脸懵逼。于是想从滑动着手。在滑动时会调用int scrollBy(int dy, RecyclerView.Recycler recycler, RecyclerView.State state)这个方法,我分了几个部分。 (建议结合源码来看)第一部分1 如果没有child或者dy ==0, 直接返回0 2 mLayoutState.m

2017-08-04 18:02:08 6034 1

原创 Recycler缓存机制

首先来看RecycledViewPool 这是一个静态内部类,内部变量:private SparseArray<ArrayList<ViewHolder>> mScrap = new SparseArray<ArrayList<ViewHolder>>();private SparseIntArray mMaxScrap = new SparseIntArray();mScrap存放的是,每一个

2017-08-04 17:34:57 424

原创 ValueAnimator源码——动画驱动

上一篇文章:了解了ValueAnimator结构之后,现在看start方法 start方法最终调用重载方法:(参数为false)private void start(boolean playBackwards) { if (Looper.myLooper() == null) { throw new AndroidRuntimeException("Anim

2017-06-20 17:17:19 301

原创 ValueAnimator源码——整体结构

注:阅读本文,需要对Interpolator和Evaluator有一定了解 不熟悉的同学可以先看看郭霖的系列文章: 链接: http://blog.csdn.net/guolin_blog/article/details/43536355ValueAnimator用到了几个类,这几个类都有自己的职责。能够把这些先搞清楚的话,再看源码就没那么困难了。PropertyValuesHolder这个类由

2017-06-20 15:47:06 461 1

原创 RxPresenter浅析

(注:由于手机号验证问题,n6323438的博文转移至此) 今天要介绍的是github上一个Android开源框架: android-starter-kit (Rx部分) 链接: https://github.com/qijitech/android-starter-kit先看变量:private final BehaviorSubject<View> views = BehaviorSubjec

2017-06-19 16:35:10 303

原创 Fragment系列(四)------RecyclerFragment之网络部分

(注:由于手机号验证问题,n6323438的博文转移至此) 链接: https://github.com/qijitech/android-starter-kitFragment系列: (一)View与Presenter (二)NetworkFragment (三)RecyclerFragment之UI部分 (四)RecyclerFragment之网络部分上一篇文章讲到了UI部分, 这次来

2017-06-19 16:28:01 299

原创 Fragment系列(三)------RecyclerFragment之UI部分

今天要介绍的是github上一个Android开源框架: android-starter-kit (Rx部分) 链接: https://github.com/qijitech/android-starter-kitFragment系列: (一)View与Presenter (二)NetworkFragment (三)RecyclerFragment之UI部分今天来讲讲 StarterRecyc

2017-06-19 16:27:10 404

转载 Fragment系列(二)------NetworkFragment

今天要介绍的是github上一个Android开源框架: android-starter-kit (Rx部分) 链接: https://github.com/qijitech/android-starter-kitFragment系列: (一)View与Presenter (二)NetworkFragment (三)RecyclerFragment之UI部分今天要讲和网络相关的fragment

2017-06-19 16:26:40 330

原创 Fragment系列(一)------View与Presenter

(注:由于手机号验证问题,n6323438的博文转移至此) 今天要介绍的是github上一个Android开源框架: android-starter-kit (Rx部分) 链接: https://github.com/qijitech/android-starter-kitfragment系列: (一)View与Presenter (二)NetworkFragment (三)Recycle

2017-06-19 16:25:51 644

原创 浅探RecyclerView的removeItem操作

(注:由于手机号验证问题,n6323438的博文转移至此) 最近做一个页面,需要实现点击recyclerView里面的一个item,然后这个item就会被移除. 看文档发现ViewHolder这个类有一个getAdapterPosition()方法,看了说明也不是很懂,于是看了一下源码,做个小结.现在假设recyclerView刚展示出来,没有进行过任何操作,那么当点击一个item时,在对应的v

2017-06-19 16:25:01 412

原创 EasyRecyclerAdapter

(注:由于手机号验证问题,n6323438的博文转移至此) 今天要介绍的是github上一个Android开源框架: android-starter-kit (Rx部分) 链接: https://github.com/qijitech/android-starter-kit先来看EasyViewHolderEasyViewHolder<V> extends RecyclerView.ViewHol

2017-06-19 16:23:52 282

原创 HashMap浅析

(注:由于手机号验证问题,n6323438的博文转移至此) 首先来看,HashMap实现了自己的entry: Node<K,V> 内部变量有: final int hash; final K key; V value; Node<K,V> next;HashMap内部变量: Node <K,V>[] table int size int modCo

2017-06-19 16:20:49 174

原创 Map和AbstractMap

(注:由于手机号验证出了点问题,n6323438的博客将迁移到此)MapMap接口有以下的方法: int size() boolean isEmpty() boolean containsKey(key) boolean containsValue(value) V get(key) V put(key,value)

2017-06-07 22:38:02 202

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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