1、背景介绍

      在Android开发的很多个场合,我们需要使用自定义的布局界面,如下图所示即是其中的一个案例:

Android布局如何全屏 android全屏显示_软件

        这里随便选取了笔者手机上的一款软件截图出来,如果是这样的应用,我们需要自定义标题栏,那么就不会再使用系统提供给我们的标题栏。问题来了,既然系统已经为我们生成了标题栏,那么我们该如何去掉系统的标题栏呢?这个时候,大家可能会想到修改系统的源码,但是估计难度太大,复杂也不划算。那么有没有另外一种方法呢?答案是肯定的,那就是将屏幕全屏显示,然后在最上面自定义布局显示标题栏。

2、去掉标题栏

2.1 代码中实现

        在setContentView(R.layout.main)之前加入如下代码,标题栏就没有了:

requestWindowFeature(Window.FEATURE_NO_TITLE);

2.2 XML文件中实现

        我们知道,Android的布局文件是按照xml文件来组织的,那么我们当然也就可以使用xml文件来控制我们的标题栏显示与否,如下:

<activity  android:name=".Activity"
       android:theme="@android:style/Theme.NoTitleBar"
  >
</activity>

        只需要在启动的Activity中加入一个主题风格,设置为无标题模式就可以了。

3、实现全屏

        如果细心的同学,一定发现了,在我们展示的那张截图里面,最上面的部分显示的,诸如Android的消息通知、电量显示等,并没有实现完全的全屏展示。这是因为Android的通知栏与标题栏是两个不同的概念,大家要弄清楚。

3.1 代码中实现

        与上面实现去掉标题栏一样,我们全屏展示,没有通知栏,也可以在代码中实现:

//隐藏标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE); 
复制代码
//隐藏状态栏
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);

        这里需要注意一点,我们一定要两个方法一起使用,并且这两个方法都需要在setContentView(R.layout.main)方法之前设置,否则不会有效果。

3.2 XML文件中实现

        废话不多说了,直接上代码吧:

<activity  android:name=".Activity"
       android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
  >
</activity>