文档章节

Android 去掉状态栏的3种方法

Erichkko
 Erichkko
发布于 2016/01/13 13:53
字数 494
阅读 1772
收藏 4

在实际的应用程序开发中,我们有时需要把 Activity 设置成全屏显示,一般情况下,可以通过两种方式来设置全屏显示效果:

其一,通过在代码中可以设置,

其二,通过manifest配置文件来设置全屏。

 

      其一:在代码onCreate里面setContentView之前设置(如下)
view plaincopy to clipboardprint?
public void onCreate(Bundle savedInstanceState) {   
        super.onCreate(savedInstanceState);   
           
        //取消标题   
        requestWindowFeature(Window.FEATURE_NO_TITLE);   
        //取消状态栏
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,    
                WindowManager.LayoutParams.FLAG_FULLSCREEN);   

           
        setContentView(R.layout.main);   
}   

       但要注意的是:在代码中设置的话,设置无标题和设置全屏的两段代码要放置在 setContentView(R.layout.main)(界面渲染,完成了再全屏是不行的)这段代码的前面。要不然会报错。

 

       其二:在manifest配置文件中设置

  • 第一种方法

①在res/values 目录创建个theme.xml文件(用来放样式)

<?xml version="1.0" encoding="utf-8"?> 
<resources>    
      <!-- name 是Style的名称,parent 继承那个父类样式 --> 
      <style name="theme_fullScreen" parent="android:Theme.Black"> 
          <item name="android:windowNoTitle">true</item>  <!-- 设置无标题 --> 
          <item name="android:windowFullscreen">?android:windowNoTitle</item> <!-- 是否填充慢屏幕,引用android:windowNoTitle 的值 ?android:windowNoTitle,取决于android:windowNoTitle的值-->
 </style>    
</resources>

②<activity android:name=".login.LoginActivity"  android:theme="@style/theme_fullScreen"/>

  • 第二种方法

view plaincopy to clipboardprint?
<?xml version="1.0" encoding="utf-8"?>   
<manifest xmlns:android="http://schemas.android.com/apk/res/android"   
      package="com.andyidea"   
      android:versionCode="1"   
      android:versionName="1.0">   
    <uses-sdk android:minSdkVersion="8" />   
    <application android:icon="@drawable/icon" android:label="@string/app_name">   
        <activity android:name=".login.LoginActivity"    
                  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> 

 

 

 只去程序标题栏 设置整个应用 no title

第三种:这种在一般的应用中不常用,就是在res/values目录下面新建一个style.xml的文件例如
 

复制代码
<?xml version="1.0" encoding="UTF-8" ?> <resources> <style name="theme_notitle"> <item name="android:windowNoTitle">true</item> </style> </resources>
复制代码

这样,我们就自定义了一个style,就相当于一个主题,然后在AndroidManifest.xml文件中定义 


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

这样也可以达到去掉标题栏的效果

© 著作权归作者所有

Erichkko
粉丝 6
博文 42
码字总数 84782
作品 0
苏州
私信 提问
Android完美获取状态栏高度、标题栏高度、编辑区域高度的获取

日常开发中我们经常会因为绘图、绘制自定义组件、定位组件或者是计算布局高度需要减去状态栏高度等需要来获取Activity界面中状态栏、标题栏的高度。但很多人马上要拿起来就用还是会遇到各种各...

芝麻粒儿
04/12
0
0
Android实现沉浸式状态栏的那些坑

最近项目需要实现沉浸式的状态栏,其实我在之前就了解过Android的沉浸式,发现有些棘手就放弃了,但是此次是公司的项目需要的,就花了几天把这个问题搞定了,在此记录一下,并mark几个坑。 ...

丁佳辉
01/03
0
0
Android去掉标题栏和全屏[转]

Android去掉标题栏和全屏都是件很容易的事情,最常见的有两种方法: 第一:在程序代码中实现 Java代码 this.requestWindowFeature(Window.FEATURENOTITLE);//去掉标题栏 this.getWindow().s...

kut
2011/09/09
0
0
动态显示和隐藏状态栏(包括底部虚拟按键)

小米Launcher有一个细节上的功能效果:在长按桌面应用图标时,会隐藏状态栏,然后在状态栏原有的布局上显示卸载或删除的操作栏。放手后,操作栏隐藏,状态栏显示出来。也就是说,这个过程是涉...

不正经啊不正经
2015/07/29
0
1
单Activity多Fragment动态修改状态栏颜色

目录介绍 1.关于如何集成 2.关于如何使用 3.关于鸣谢 4.关于版本更新说明 5.关于其他介绍 0.说明 状态栏工具类,应该可以满足绝大多数的使用场景。具体可以参考代码案例,欢迎star!! 1.关于...

潇湘剑雨
2018/09/01
0
0

没有更多内容

加载失败,请刷新页面

加载更多

【AI实战】手把手教你深度学习文字识别(文字检测篇:基于MSER, CTPN, SegLink, EAST等方法)

文字检测是文字识别过程中的一个非常重要的环节,文字检测的主要目标是将图片中的文字区域位置检测出来,以便于进行后面的文字识别,只有找到了文本所在区域,才能对其内容进行识别。 文字检...

雪饼
今天
7
0
思维导图XMind 8 Pro 绿化方法(附序列号)

按部就班: Step 1 -全新下载最新版本的 Xmind 8(注必须是英文官方的版本,中文代{过}{滤}理网站的版本修改过,无法使用pj); Step 2 -安装完毕后,点击文末的下载按钮下载pj补丁文件包,将...

一只小青蛙
今天
10
0
数据结构(ER数据库)设计规范

表命名规范 表命名的规则分为3个层级,层级之间通过_分割,例如b_r_identity、d_l_identity。规约为: [leavel]_[type]_[name] [leavel] 表示数据库表的层级和功能,分为: s:业务无关的系统...

随风溜达的向日葵
今天
6
0
阿里Sentinel控制台源码修改-对接Apollo规则持久化

https://github.com/alibaba/Sentinel/wiki/%E5%9C%A8%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%E4%B8%AD%E4%BD%BF%E7%94%A8-Sentinel 动态规则扩展 https://github.com/alibaba/Sentinel/wiki......

jxlgzwh
昨天
9
0
在Linux系统中创建SSH服务器别名

如果你经常通过 SSH 访问许多不同的远程系统,这个技巧将为你节省一些时间。你可以通过 SSH 为频繁访问的系统创建 SSH 别名,这样你就不必记住所有不同的用户名、主机名、SSH 端口号和 IP 地...

老孟的Linux私房菜
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部