摘要: Android中触摸事件传递过程中最重要的是dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()方法。这个是困扰初学者的问题之一,我开始也是。这里记录一下dispatchTouchEvent()、onInterceptTouchEvent()和onTouchEvent()的处理过程,以供记忆。 dispatchTouchEvent是处理触摸事件分发,事件(多数情况)是从Activity的dispatchTouchEvent开始的。执行super.dispatchTouchEvent(ev),事件向下分发。 onInte... 阅读全文
posted @ 2014-03-05 21:04 张兴业 阅读(1757) 评论(0) 推荐(0) 编辑
摘要: 大家都知道Android中加载view是从Activity的onCreate方法调用setContentView开始的,那么View的具体加载过程又是怎么的呢?这一节我们做一下分析。首先追踪一下代码:Activity中:public void setContentView(int layoutResID) { getWindow().setContentView(layoutResID);}public Window getWindow() { return mWindow;}final void attach { mWindow = PolicyManager.make... 阅读全文
posted @ 2014-03-05 21:04 张兴业 阅读(800) 评论(0) 推荐(0) 编辑
摘要: SurfaceView也是继承自View,它和我们以前接触到的View(Button、TextView等)最大的不同是,SurfaceView可以有一个单独的线程进行绘制,这个线程区别于UI线程(主线程),因此SurfaceView绘制并不占用主线程资源。 SurfaceView实现通常是自定义,继承SurfaceView并实现SurfaceHolder.Callback接口。使用SurfaceView,所有的绘图工作必须得在Surface 被创建之后才能开始,所以Callback 中的surfaceCreated 和surfaceDestroyed 就成了绘图处理代码的边界。实现Sur... 阅读全文
posted @ 2014-03-05 21:03 张兴业 阅读(800) 评论(0) 推荐(0) 编辑