Window是一个窗口的概念,android中所有的视图都是通过window显示的,不管是activity,dialog,toast,popupwindow,菜单 状态栏它们都是附加在window上的。
activity->window->根view
window是通过windowmanager管理的,window只是一个概念 具体的呈现是一个view。
windowmanager->viewmanager:
addView(View view,ViewGroup.LayoutParams params)
updateViewLayout(View view,ViewGroup.LayoutParams params)
remoteView(View)
windowManager.layoutParams布局
flags属性:
FLAG_NOT_FOCUSABLE:window不获得焦点 会自动启动FLAG_NOT_TOUCH_MODAL 将焦点传递给下一个
FLAG_NOT_TOUCH_MODAL:window以内的自己处理 window以外的交给底层window处理
FLAG_SHOW_WHEN_LOCKED:此模式可以让window显示在锁屏上
type类型:
1:应用window:一个activity对应一个应用window
2:子window:例如dialog
3:系统window:toast,系统状态栏
优先级高的会覆盖优先级低的。