在做应用的时候,很多时候是不需要系统自带的标题栏的,而是自己去实现标题栏,这就要去掉系统的标题栏,下面总结了三种方法。全屏也是一样的道理,也总结了实现的三种方法。
(一)去除标题栏
1、方法1
在Activity的onCreate方法中:
1 requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏 2 //注意这句一定要写在setContentView()方法的前面,不然会报错的
但是这种方法的缺陷是,因为在onCreate方法中才去掉标题栏,所以在这之前会发现标题栏还是会一闪而过,去的不彻底,那么用下面两种方法就能够避免这个问题。
2、方法2
在AndroidManifest.xml文件中定义:
1 <application 2 android:icon="@drawable/icon" 3 android:label="@string/app_name" 4 android:theme="@android:style/Theme.NoTitleBar">
这样就会把整个应用的每个界面都去掉标题栏,如果只是想把某些活动去掉标题栏,那么把android:theme="@android:style/Theme.NoTitleBar"属性放在Activity标签即可。
3、方法3(推荐,便于维护和扩展)
(1)先在styles.xml中定义名为NoTitle的style:
1 <style name="AppBaseTheme" parent="android:Theme.Light"> 2 3 </style> 4 <style name="NoTitle" parent="AppBaseTheme"> 5 <item name="android:windowNoTitle">true</item> 6 </style>
(2)在AndroidManifest.xml文件中定义:
1 <activity 2 android:name="XXX" 3 android:label="@string/app_name" 4 android:theme="@style/NoTitle">
(二)全屏
和去除标题栏的三种方法类似,全屏也有三种方法.
1、方法1
在Activity的onCreate方法中:
1 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
2、方法2
在AndroidManifest.xml文件中定义:
1 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
3、方法3(推荐)
(1)styles.xml文件:
1 <!-- 全屏style --> 2 <style name="FullScreen" parent="AppBaseTheme"> 3 <item name="android:windowNoTitle">true</item> 4 <item name="android:windowFullscreen">true</item> 5 </style>
(2)AndroidManifest.xml:
1 <activity 2 android:name="XXX" 3 android:theme="@style/FullScreen">