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

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

  (一)去除标题栏

  1、方法1

  在Activity的onCreate方法中:

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

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

  2、方法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、方法3(推荐,便于维护和扩展)

  (1)先在styles.xml中定义名为NoTitle的style:

 <style name="AppBaseTheme" parent="android:Theme.Light">

 </style>
<style name="NoTitle" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
</style>

  (2)在AndroidManifest.xml文件中定义:

 <activity
android:name="XXX"
android:label="@string/app_name"
android:theme="@style/NoTitle">

  (二)全屏

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

  1、方法1

  在Activity的onCreate方法中:

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

  2、方法2

  在AndroidManifest.xml文件中定义:

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

  3、方法3(推荐)

  (1)styles.xml文件:

    <!-- 全屏style -->
<style name="FullScreen" parent="AppBaseTheme">
<item name="android:windowNoTitle">true</item>
<item name="android:windowFullscreen">true</item>
</style>

  (2)AndroidManifest.xml:

       <activity
android:name="XXX"
android:theme="@style/FullScreen">

 

随机推荐

  1. ng-selected ng-change

    <!DOCTYPE HTML><html ng-app="myApp"><head><meta http-equiv="Cont ...

  2. &lbrack;转&rsqb; dpkg-deb命令

    点击此处阅读原文 function addLink() { var body_element = document.getElementsByTagName('body')[0]; var selec ...

  3. 【MySql】赶集网mysql开发36条军规

    [MySql]赶集网mysql开发36条军规 2012-05-14 14:02:33 分类: Linux   写在前面的话: 总是在灾难发生后,才想起容灾的重要性: 总是在吃过亏后,才记得曾经有人提醒 ...

  4. sql语句中 limi的用法

    SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset 使用查询语句时需要返回前几条或者中间的某几行数据时可以用到limit 例如 ...

  5. 如何高效的编写Verlog HDL——菜鸟版

    工欲善其事.必先利其器!要想高效的编写verilog没有一个好的编辑器可不行,所以我这里推荐两款十分好用的编辑器Notepad++和Gvim,这两款编辑器由于其强大的添加插件的功能,所以深受代码工作者 ...

  6. Linux下I&sol;O多路转接之select --fd&lowbar;set

    fd_set 你终于还是来了,能看到这个标题进来的,我想,你一定是和我遇到了一样的问题,一样的疑惑,接下来几个小时,我一定竭尽全力,写出我想说的,希望也正是你所需要的: 关于Linux下I/O多路转接 ...

  7. Nginx详解二十二:Nginx深度学习篇之Lua解释器安装及基础语法

    解释器 Lua:Lua是一个简洁.轻量.可扩展的脚本语言 Nginx+Lua优势充分的结合Nginx的并发处理epoll优势的Lua的轻量实现简单的功能切高并发的场景 安装Lua 1.安装解释器:yu ...

  8. centos7 关闭防护墙

    centos6 里面的默认防火墙 是  iptables, 所有 使用 service iptables  stop  就可以停止防火墙了. 但是 centos7 里面的 防火墙 叫做 firewal ...

  9. Java知多少(17)强调一下编程风格

    讲完了Java的基础语法,大家就可以编写简单的程序代码了,这里有必要强调一下编程风格. 代码风格虽然不影响程序的运行,但对程序的可读性却非常重要.自己编写的程序要让别人看懂,首先在排版方面要非常注意. ...

  10. Centos 创建 docker项目

    从gitlab上下载一个docker-compose.yml文件. wget -o docker-compose.yml \ https://raw.githubusercontent.com/sam ...

上一篇:让 markdown 生成带目录的 html 文件


下一篇:ThinkPHP3.1在多数据库连接下存储过程调用bug修正