首先是android层:PhoneWindow.java 中加入了GestureDetector成员, 来实现全局滑屏手势监听onFling方法中,调用了mDecor.getRootWindowSession().setOnlyShowInExtendDisplay(mDecor.getWindow(),res);调用了Session.java的+    public void setOnlyS
转载 2015-09-10 13:49:00
224阅读
2评论
Dialog.dismiss(): 如果是在非UI线程调用,会将dismiss这个指令*schedule到UI线程的handler来异步执行*否则同步执行。Dialog.dismissDialog()。WindowManagerImpl.removeViewImmediate(mDecor), mDecor在Dialog show()的时候调用mWindow.getDecorView()获得
原创 2023-05-23 14:46:58
325阅读
setContentView方法工作流程:setContentView方法的具体实现是在PhoneWindow类中,主要通过如下几个步骤完成xml布局资源文件或View的加载。setContentView步骤详解:第一步:若是首次使用setContentView方法,则先创建一个DecorView对象mDecor,该对象是整个Activity窗口的根视图;然后根据程序中选择的Activity的Th
上一篇我们说到在Activity中setContentView()其实调用的就是PhoneWindow的setContentView();然后对DecorView进行初始化,DecorView是PhoneWindow的内部类又是FrameLayout 的子类,其实DecorView就是这个屏幕的View。在mDecor初始化完成之后我们看到这样一段代码, mContentParent = ge
原创 2016-03-16 12:48:33
115阅读
(一)事件分发机制概述面试题:你了解过Android的事件分发机制吗?请大致介绍一下点击事件产生后,首先传递给Activity的dispatchTouchEvent方法,这时会调用getWindow().superDispatchTouchEvent(ev),由于PhoneWindow是Android Window的唯一实现类,所以会通过PhoneWindow中的mDecor.superDispa