- 博客(9)
- 收藏
- 关注
原创 ScrollView嵌套RecyclerView:进入界面ScrollView自动滑动
背景:ScrollView嵌套PreferenceFragment。我使用的版本Preference的树的支撑是通过RecyclerView。原因:在Activity的setContentView方法中,解析了Fragment,并调用了PreferenceFragmentCompat的onCreateView方法,方法后面post了一个Runnable。通过调用父View的f...
2020-04-02 22:32:09 1018
原创 android Jetpack 之 LiveData
1.MutableLiveData.javaLiveData的实现类。可以对Data进行设置。postValue(T value):对调用的线程没有要求,调用后会直接对mPendingData进行设置。然后会向主线程的Handler发送一个Runnable。好处:1.在异步线程对数据进行修改2.主线程没有执行mPostValueRunnable之前,异步线程能够多次听过po...
2020-01-08 21:54:44 378 1
原创 ListView 点击item后背景色绘制:查看原生主题中的设置
1.AbsListView.java2.attrs.xml3.ListView.java4.themes_material.xml5.styles_material.xml6.themes_material.xml
2020-01-07 22:48:29 134
原创 ImageView绘制
ImageView绘制Drawable核心:mDrawMatrix &&canvas.concat(mDrawMatrix)
2019-09-04 21:41:38 350
原创 View绘制之ScrollBar绘制
对View设置rightPadding后,发现ScrollBar绘制的位置发生了变化。为知其缘由,需要来看看View的绘制。View绘制的是从draw(Canvas canvas)开始的,在此方法中View进行了6部分的绘制操作。其中ScrollBar的绘制是在onDrawForeground中发生的。 ...
2019-08-27 23:20:28 500
原创 RecyclerView动画:属性动画
通过RecyclerView的实现展开动画动画的时候,首先想到的是通过原生的方法notifyItemRangeChanged来实现。但是android并没有提供很多Api,让使用者来自定义动画。 为了更好的实现动画的自定义,必须查看RecyclerView动画的实现机制。在此基础上才能够有机会hook动画机制,从而实现更好的自定义。目前实现了动画的差值器、展开距离...
2019-08-08 21:43:42 2468
原创 Glide源码分析网页图片标加载流程(三):异步加载网络图片
Glide源码分析网页图片标加载流程(二):图片加载之onStart回调上面文章中activity的onStart已经执行了,但是因为ImageView的尺寸还未确定,所以Glide通过addOnPreDrawListener监听来ImageView大小,并开始加载网络图片。收到onPreDraw回调后时序图收到onPreDraw回调的时候,首先对ImageView尺寸进行检查...
2019-07-23 22:45:00 515 1
原创 Glide源码分析网页图片标加载流程(二):图片加载之onStart回调
Glide源码分析网页图标加载流程(一):资源加载前的工作上篇文章中讲解了Glide通过Activity生命周期来管理图片加载流程。本文主要分析当添加的Fragment的onStart被会掉时,Glide所做的相关操作。首先给出流程图:通过上面的流程图可以知道,Glide注册到ActivityFragmentLifecycle的三个监听得到了回调。 首先...
2019-07-21 17:32:28 320
原创 Glide源码分析网页图片加载流程(一):资源加载前的工作
本文是基于Activity的生命周期来探究Glide在加载网页图片的流程。首先举一个简单的例子Glide.with(this) .load("http://k.zol-img.com.cn/sjbbs/7692/a7691515_s.jpg") .into(mImageView);下面展示的是上述代码的时序图。因为Glide的with方法中传入的是...
2019-07-21 15:43:59 214
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人