android 开发 如何去掉手机的上边的状态栏

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 开发 如何去掉手机的上边的状态栏相关的知识,希望对你有一定的参考价值。

在开发中经常需要把应用设置为全屏,这需要去掉标题栏和状态栏;一般有两种方法,一是在代码中设置,另一种方法是在配置文件里设置。

一、在代码中设置:

 public void onCreate(Bundle savedInstanceState)
   super.onCreate(savedInstanceState);  
//去除title
   requestWindowFeature(Window.FEATURE_NO_TITLE);
//去掉Activity上面的状态栏
   getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN);
   setContentView(R.layout.main);
  
其中起主要作用的两个语句:
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//隐去电池等图标和一切修饰部分(状态栏部分)
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
//隐去标题栏(程序的名字)

在这里要强调一点,设置全屏的俩段代码必须在setContentView(R.layout.main)之前,不然会报错.

二、在配置文件里设置

  (关键代码:android:theme="@android:style/Theme.NoTitleBar.Fullscreen",如果想只是去除标题栏就后面不用加Fullscreen了,另外,如果想要整个应用都去除标题栏和状态栏,就把这句代码加到<application..标签里面,如果只是想某个activity起作用,这句代码就加到相应的activity上):
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.android.demo"
  android:versionCode="1"
  android:versionName="1.0">
<application android:
icon="@drawable/icon"
android:label="@string/app_name">
   <activity android:name=".OpenGl_Lesson1"
   android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
   android:label="@string/app_name">
   <intent-filter>
   <action android:name="android.intent.action.MAIN" />
   <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
   </activity>
  </application>
</manifest>

这里主要用到的Theme如下:
android:theme="@android:style/Theme.NoTitleBar" 隐去标题栏
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 隐去状态栏
参考技术A 1.在代码里实现
[java] view plain copy
this.requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题栏
记住:这句代码要写在setContentView()前面。
2.在清单文件(manifest.xml)里面实现
[java] view plain copy
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@android:style/Theme.NoTitleBar">
这样用可以将整个应用设置成无标题栏,如果只需要在一个Activity设置成一个无标题栏的形式,只要把上面的第三行代码写到某一个Activity里面就可以了。
3.在style.xml文件里定义
[html] view plain copy
<?xml version="1.0" encoding="UTF-8" ?>
<resources>
<style name="notitle">
<item name="android:windowNoTitle">true</item>
</style>
</resources>
然后面manifest.xml中引用就可以了,这种方法稍麻烦了些。
[html] view plain copy
<application android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/notitle">
其实可以看得出来,第二种方法和第三种方法实质是一样的,只不过第二种方法调用的是系统定义好的style.xml文件,而第三种方法则是在自己的应用里定义style.xml,然后再自己再调用,其实道理是一样的,第三种方法做起来更有成就感。

如何在Android中实现全屏,去掉标题栏效果

参考技术A android全屏的效果如下图,整个应用占据手机屏幕(状态栏看不到)
要实现全屏效果,可以配置activity的主题样式为theme.notitlebar.fullscreen
也可以在activity的oncreate方法中加入下面代码(注意要在setcontentview之前)
this.requestwindowfeature(window.feature_no_title);//去掉标题栏
this.getwindow().setflags(windowmanager.layoutparams.flag_fullscreen, windowmanager.layoutparams.flag_fullscreen);//去掉信息栏
而去掉标题栏效果如下,状态栏是看得到的
要实现全屏效果,可以配置activity的主题样式为theme.notitlebar
或者加入代码
this.requestwindowfeature(window.feature_no_title);

以上是关于android 开发 如何去掉手机的上边的状态栏的主要内容,如果未能解决你的问题,请参考以下文章

安卓html元素被点击时产生的边框怎么去掉

android2048开发初始0怎么去掉

android黑色边框如何去掉

android中全屏 及 去掉标题栏效果有啥区别

JS如何去掉手机浏览器自带的状态栏

如何在Android中实现全屏,去掉标题栏效果