Android去除自带的标题栏

我们在做项目开发的时候,往往自带的标题栏都难以满足我们的要求。这时,我们便希望通过自定义标题栏去实现,但在此之前我们需要做一步重要的准备工作,那便是去除原本自带的标题栏,否则便会出现双标题栏的情况,这对于我们或者用户来说,都是难以接受的。好了,废话不多说,下面我们来看如何实现。
在我看来,去除Android自带标题栏大致可为两种:一种是只去除指定Activity的标题栏,而另一种是去除整个应用程序的标题栏。
第一种:

 ● 去除指定Activity的标题栏,很简单,就如下一句话即可。

    requestWindowFeature(Window.FEATURE_NO_TITLE);

但是需要特别注意,一定要在指定Activity的onCreate( )方法中,在setContentView()方法之前。

 ● 去除指定AppCompatActivity的标题栏,需要把上面的代码替换为如下:

    supportRequestWindowFeature(Window.FEATURE_NO_TITLE); 

    或者,可直接调用下面方法隐藏标题栏

    getSupportActionBar().hide();

第二种:去除整个应用程序的标题栏,这也不难,也是一句话就OK了。

        我们知道,在 AndroidManifest.xml 中的 application 标签中,android:theme="@style/AppTheme"语句可以设置当前应用程序的主题样式。因此,我们可以自定义自己的主题样式。可以通过在 styles.xml 文件中,在样式名为 AppTheme 的条目中添加true语句即可取消标题栏,也可自定义样式添加。

    

如果是隐藏整个应用程序中继承AppCompatAvitivoty的标题栏,则需要使用如下方法,同时也会隐藏Acitivity的标题栏。

在 AndroidManifest.xml 中的 application 标签中,将android:theme="@style/AppTheme"替换为如下代码:

    android:theme="@style/Theme.AppCompat.Light.NoActionBar"
但直接使用Android现有的样式就无法实现我们其他的自定义样式了,那还有什么更好的方法呢?那就是我们上方所说的自定义样式了,首先我们最好看看Theme.AppCompat.Light.NoActionBar到底是什么东西?
    
原来如此,简单点的实现方法,如下:

    

更或者换个姿势,如下:

    


        这是我第一次写博客,而且现在还属于学习阶段,希望通过博客来记录整理学习成功与经验,如有不足之处望指点。


你可能感兴趣的:(Android,UI)