Android 去掉标题的方法

我们写程序的时候经常要全屏显示或者不显示标题。比如我们做地图导航的时候就不要标题了,下面介绍三种方法来实现Android 去掉标题

第一种:也一般入门的时候经常使用的一种方法

在setContentView()方法的前面插入代码:

requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏

第二种:在AndroidManifest.xml文件中定义

去掉整个应用的标题栏:

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@android:style/Theme.NoTitleBar">

不过有时候不需要去掉整个程序的应用,只想去掉一个的时候就在Activity中。

第三种:在res/values目录下面新建一个style.xml的文件

这种方法是有经验的开发者最喜欢的方法,因为它把功能分开的;对于后期的维护非常方便。

个人建议用第三种方法:

styleAndroidManifest.xml

<?xml version="1.0" encoding="UTF-8" ?>
<resources>
    <style name="concealTitle">
        <item name="android:windowNoTitle">true</item>
    </style>
</resources>

定义完了一个style,接下来就是在AndroidManifest.xml中使用了:

<application
    android:icon="@drawable/icon"
    android:label="@string/app_name"
    android:theme="@style/concealTitle">

本文转载自:http://www.android-study.com/jichuzhishi/329.html 测试无误

2013-05-13:个人觉得:第二种可能会涉及界面UI的问题,比如我定义一个EditText,我想使用4.0的样式,在应用中使用了第二种隐藏标题栏的语句,会发现EditText是2.3以前的样式,此处做个记录,留待以后查看源代码后更正;

2013-06-08:查看原生系统源代码中发现

 <!-- Variant of {@link #Theme} with no title bar -->
    <style name="Theme.NoTitleBar">
        <item name="android:windowNoTitle">true</item>
    </style>

    <!-- Variant of {@link #Theme} that has no title bar and no status bar -->
    <style name="Theme.NoTitleBar.Fullscreen">
        <item name="android:windowFullscreen">true</item>
        <item name="android:windowContentOverlay">@null</item>
    </style>

突然又不明白了,是不是各个手机厂商的ROM,会针对Theme.NoTitleBar 做UI修改,而标题栏的去除只需要

 <item name="android:windowNoTitle">true</item>

因为无法看到手机厂商的源码,暂时标注,留待以后解决;

原文地址:https://www.cnblogs.com/sishuiliuyun/p/3076279.html