AbstractWindowManager
2016-09-26 18:02:48 0 举报
AbstractWindowManager是Android操作系统中的一个关键组件,主要负责管理应用程序窗口的创建、显示和销毁。它提供了一种通用的框架,使得不同的窗口管理器可以在此基础上实现自己的特定功能。通过使用AbstractWindowManager,开发者可以轻松地创建自定义窗口管理器,以满足不同应用程序的需求。此外,AbstractWindowManager还负责处理窗口的各种事件,如触摸、按键等,确保应用程序在各种情况下都能够正常运行。总之,AbstractWindowManager是Android系统中不可或缺的一个部分,为开发者提供了一个灵活、高效的窗口管理解决方案。
作者其他创作
大纲/内容
ACWindowStack
- mRootWindow:AbstractWindow- mFrontWin:AbstractWindow- mBackWin:AbstractWindow- mViewsStack:Stack- mHierarchyChangeListener:OnHierarchyChangeListener
+ pushWindow(AbstractWindow)+ popWindow(Boolean)+ replaceRootWindow(AbstractWindow)+ popToRootWindow(Boolean)
PanelLayer
- mWindowMgr:AbstractWindowManager- mAnimationLayer:AnimationLayer- mIsStandalone:boolean
+ setWindowManager(AbstractWindowManager)+ onTouchEvent()+ dispatchKeyEvent()
FrameLayout
ACWindowManager
+ mWinEnvironment:ACWindowEnvironment+ mOnTouchEventInterceptor:OnTouchEventInterceptor
+ setupWindowEnvironment(ACWindowEnvironment):+ attachWallpaper()+ addExtLayerContent()+ showWindowLayer()
INotify
+ notify(Notification):void
ACWindowEnvironment#WindowLayer
IContextMenuListener
+ onContextMenuShow()+ onContextMenuHide()+ onContextMenuItemClick()
AbstractWindow
- mBaseLayer:ViewGroup- mBtnLayer:RelativeLayout- mExtLayer:RelativeLayout- mBarLayer:RelativeLayout- mSwipeHelper:WindowSwipeHelper- mWindowInfo:AbstractWindowInfo
AnimationLayer
- mPanelLayer:PanelLayer- mRenderer:AnimationRenderer- attribute3:type
+ setPanelLayer(PanelLayer)- start(AnimationRenderer)
ACWindowEnvironment
- mWallpaper:View- mWindowLayer:WindowLayer- mPanelLayer:PanelLayer- mExtendedLayer:ExtendedLayer- mCurrentStack:ACWindowStack
WindowSwipeHelper
- mHost:View- mHostCallbacks:UICallBacks- mViewBehind:View- mPossibleTargetView:View- mScroller:Scroller- mVelocityTracker:VelocityTracker
+ computeScroll():+ onInterceptTouchEvent(MotionEvent):boolean
AbstractWindowManager
- mPanelLayer:PanelLayer
+ addBackgroundLayerContent()+ pushWindow()+ dispatchTouchEvent()+ getWindowStackCount()+ createWindowStack()+ addExtLayerContent()+ removeExtLayerContent()+ pushWindow()+ notify(Notification)
收藏
0 条评论
下一页