- 博客(6)
- 资源 (10)
- 问答 (3)
- 收藏
- 关注
原创 onMeasure的宽高生成解析
在View的绘制流程中,onMeasure是负责测量控件的大小的@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); }他的两个参数分别代表宽和高,接下
2017-08-29 21:06:17 960
原创 requestDisallowInterceptTouchEvent实现原理
我们为了让底部的控件处理事件,不被父控件拦截,一般我们会调用v.getParent().requestDisallowInterceptTouchEvent(true);来阻止父控件对事件的拦截,来看下它的实现原理。首先明确下v.getParent()对于底部的View来说,得到的就是上层的父控件,也就是上层的ViewGroup,来看下ViewGroup的requestDisallowInterce
2017-08-24 12:04:37 1390
原创 Activity的setContentView解析
我们一般设置Activity的界面,都是在onCreate方法中通过setContentView完成,之后就会在手机上显示我们设置的界面,现在我们走下流程,看看系统究竟是如何做的。 首先Activity是在ActivityThread中的performLaunchActivity方法中被创建的private Activity performLaunchActivity(ActivityClient
2017-08-16 19:46:37 391
原创 安卓插件化实例
最近想研究研究安卓插件化的知识,看了看Android插件化完美实现代码觉得很好很强大,所以就来造个轮子,学习记录下。 首先声明下,实现的例子是基于安卓5.1的,而且实现的功能仅仅是能启动插件的Activity,当然了原理弄懂了,别的也好说,那么下面正式开始。实现插件化大概有三个难点1:使我们插件中的代码可以被宿主程序调用 2:Activity等四大组件可以有正常的生命周期 3:插件可以正常使用
2017-08-11 17:55:59 452
原创 安卓OnTouchListener,onTouchEvent,onClickListener执行顺序
安卓控件有很多监听事件,比较典型的有OnTouchListener,onTouchEvent和mOnClickListener,来看下他们的执行顺序 我们先自定义一个Button,在他的onTouchEvent方法中加入log@Override public boolean onTouchEvent(MotionEvent event) { Log.e("xw", "onT
2017-08-03 20:08:00 12795
原创 AMS与Activity的交互
上面是Activity典型的生命周期流程图,基本的就不讲了,提两个问题来求解下 1:当启动一个新的Activity时,新旧两个Activity的生命周期执行顺序 2:当你在onCreat中调用startActivity或者finish的时候,生命周期执行流程首先来求解第一个问题,很简单,建立两个Activity,每个生命周期上打上log@Overrideprotected void onSta
2017-08-02 21:05:34 813
TA创建的收藏夹 TA关注的收藏夹
TA关注的人