requestWindowFeature(Window.FEATURE_NO_TITLE)
和
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)
在Android应用中虽然都与窗口外观定制有关,但它们各自实现的功能有所不同:
-
requestWindowFeature(Window.FEATURE_NO_TITLE)
这个方法用于请求移除当前Activity的标题栏(ActionBar)。仅当它在setContentView()
方法调用之前调用才有效。如果您的应用是基于Activity
而非AppCompatActivity
,或者已经禁用了AppCompatActivity
的ActionBar
,那么这行代码可以成功去除窗口顶部的标准标题栏。 -
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN)
这个方法则是设置窗口的全屏模式。它会隐藏状态栏和导航栏(如果设备存在的话),从而使得Activity的布局能够延伸至屏幕的物理边缘,达到真正的全屏效果。这里的全屏不仅仅是去除标题栏,还包括隐藏系统的状态栏(通常包含信号、电量、时间等信息)。
所以,两者的区别在于:
FEATURE_NO_TITLE
只是移除标题栏,不涉及状态栏;FLAG_FULLSCREEN
不仅移除标题栏,同时也隐藏状态栏,实现真正的全屏显示。