我们写程序的时候经常要全屏显示或者不显示标题。比如我们做地图导航的时候就不要标题了,下面介绍三种方法来实现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>
因为无法看到手机厂商的源码,暂时标注,留待以后解决;