Android开发所遇各种问题

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

2017-12-13  本文已影响0人  m2fox

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

去除标题栏

方法1

ActivityonCreate方法中:

requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
//注意这句一定要写在setContentView()方法的前面,不然会报错的

但是这种方法的缺陷是,因为在onCreate方法中才去掉标题栏,所以在这之前会发现标题栏还是会一闪而过,去的不彻底,那么用下面两种方法就能够避免这个问题。

方法2

AndroidManifest.xml文件中定义:

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

这样就会把整个应用的每个界面都去掉标题栏,如果只是想把某些活动去掉标题栏,那么把android:theme="@android:style/Theme.NoTitleBar"属性放在Activity标签即可。

方法3(推荐,便于维护和扩展)

<style name="AppBaseTheme" parent="android:Theme.Light"></style>
<style name="NoTitle" parent="AppBaseTheme">
         <item name="android:windowNoTitle">true</item>
</style>
<activity
            android:name="XXX"
            android:label="@string/app_name" 
            android:theme="@style/NoTitle">

全屏

和去除标题栏的三种方法类似,全屏也有三种方法。

方法1

ActivityonCreate方法中:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

方法2

AndroidManifest.xml文件中定义:

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

方法3(推荐)

     <!-- 全屏style -->
     <style name="FullScreen" parent="AppBaseTheme">
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowFullscreen">true</item>
    </style>
<activity
             android:name="XXX"
             android:theme="@style/FullScreen">
上一篇下一篇

猜你喜欢

热点阅读