http://developer.android.com/reference/android/view/Window.html#getDecorView():
检索顶级窗口装饰视图(包含标准窗口) 框架/装饰和其中的客户端内容,可以添加为 窗口管理器的窗口。
这令人费解。目前尚不清楚标准的窗框/装饰品是什么"是。我完全不知道这是什么,文档很糟糕。它是否存在于应用程序窗口内?它是否围绕着应用程序的窗口?
我从未见过具有明显窗口装饰的Android窗口。并且"可以添加为窗口"意味着装饰视图是一个窗口,但这与类层次结构相矛盾(View
不是Window
的子类)。
那么这笔交易是什么?装饰视图究竟是什么?
答案 0 :(得分:38)
似乎最好定义的地方之一是Romain Guy's Blog:
DecorView是实际保持窗口背景可绘制的视图。从Activity调用getWindow()。setBackgroundDrawable()会通过更改DecorView的背景drawable来更改窗口的背景。如前所述,此设置非常特定于Android的当前实现,并且可能在将来的版本中更改,甚至可能在其他设备上更改。
答案 1 :(得分:0)
装饰视图似乎包含屏幕分辨率?我得到1920。
var verticalScreenRes = act.window.decorView.height.toFloat() // 1920
然后验证
adb -s emulator-5554 shell wm size
Physical size: 1080x1920