$Android去除系统默认的标题栏和全屏的三种方法

  在做应用的时候,很多时候是不需要系统自带的标题栏的,而是自己去实现标题栏,这就要去掉系统的标题栏,下面总结了三种方法。全屏也是一样的道理,也总结了实现的三种方法。

  (一)去除标题栏

  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">

 

 

posted @ 2016-04-10 12:21  AzureSky  阅读(782)  评论(0编辑  收藏  举报