我正在观看新浪的Android教程,我迷失在这行代码中:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
我认为getWindow()
和setFlags()
是一种方法,但为什么可以像这样访问它们?我经常看到的是ClassObject.Method
,但这次是Method.Method
。
答案 0 :(得分:3)
getWindow()返回Window类型的对象,可以使用setFlags()方法
所以它基本上是一种令人讨厌的写作方式
Window a = getWindow();
a.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
答案 1 :(得分:2)
因为getWindows()
是来自班级Activity
的方法。
它返回类Window
中的一个对象,它代表你的实际屏幕窗口
所以setFlags()
实际上是在Window-Class上调用的。
答案 2 :(得分:1)
它的工作原理是因为第一个方法(来自活动)返回一个对象(Window
),您可以在该对象上调用第二个方法。你可以这样做:
Window obj = getWindow();
obj.setFlags();
如果它对你更有意义。