什么是Android DecorView?

nmr*_*nmr 51 android window android-view

http://developer.android.com/reference/android/view/Window.html#getDecorView():

检索顶级窗口装饰视图(包含标准窗口框架/装饰和其中的客户端内容),可以将其作为窗口添加到窗口管理器.

这令人费解.目前尚不清楚标准的"窗框/装饰"是什么.我完全不知道这是什么,文档很糟糕.它是否存在于应用程序窗口内?它是否围绕应用程序的窗口?

我从未见过具有明显窗口装饰的Android窗口.并且"可以添加为窗口"意味着装饰视图是一个窗口,但这与类层次结构(View不是其子类Window)相矛盾.

那是什么交易?装饰视图究竟是什么?

nKn*_*nKn 43

似乎最好定义的地方之一是Romain Guy的博客:

DecorView是实际保持窗口背景可绘制的视图.从Activity调用getWindow().setBackgroundDrawable()会通过更改DecorView的背景drawable来更改窗口的背景.如前所述,此设置非常特定于Android的当前实现,并且可以在将来的版本中更改,甚至可以在其他设备上更改.

  • 我的redux是:装饰视图是`Window`视图层次结构的真正根.它包含"装饰"(即窗口的标题(操作栏?),或对话框的"框架"(〜=绘制对话框的实际像素的视图,如前Holo中所示)并且还包含应用程序提供的内容视图.AFAIK完全存在于窗口的范围内,并不包围它,并且在任何意义上它本身都不是窗口. (5认同)