- 博客(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关注的人