转载说明:原贴地址:http://blog.csdn.net/a_running_wolf/article/details/50480386

设置Activity隐藏标题栏、设置Activity全屏显示在我们开发中会经常用到,毕竟手机屏幕大小有限,有时候是为了显示更多的信息而舍弃一些不必要的界面开支,首当其冲的就是标题栏,接下来就是状态栏;有时候是为了界面的简洁和美观……不举例子了,相信你肯定遇到过这样的需求,直接入正题:

设置隐藏标题栏、全屏显示常用的有2种方法(和Android开发中大多数属性的设置方法一样):

(一)xml中静态注册

在AndroidManifest.xml文件的相应Activity节点下设置其android:theme属性值,该属性值(使用系统theme值,自定义theme除外)一般以"@android:style/Theme."开头,如android:theme="@android:style/Theme.Light.NoTitleBar.Fullscreen"。下边就来说说这些theme有哪些不同及各自的效果(以Android4.4.2为例):

我们在界面上添加一个TextView辅助观察:

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="全屏设置及Theme属性解析"
android:textSize="20sp"/> <!-- 这里只设置了字体大小,并未设置字体颜色 -->

*注意*这里只设置了字体大小并未设置字体颜色,下边会涉及到。

<activity
android:name="com.wangj.fullscreen.TestActivity"
android:label="@string/title_activity_test"
android:theme="@android:style/下边说到的theme值"
android:icon="@drawable/ic_launcher"
android:screenOrientation="portrait" > <!-- 添加android:theme属性 -->
<intent-filter>
<action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

(1)<activity >……< />节点未指定theme属性时显示效果如下

(2)黑色主题

Theme.Black黑色主题:标题栏灰色、不显示icon(即使设置了也不显示)、有状态栏、TextView字体反色:

Theme.Black.NoTitleBar:黑色主题、无标题栏、有状态栏、字体反色:

Theme.Black.NoTitleBar.Fullscreen:黑色主题、无标题栏、无状态栏、字体反色:

(3)白色主题(和黑色主题唯一不同就是颜色):

Theme.Light白色主题:标题栏灰色、不显示icon(即使设置了也不显示)、有状态栏、TextView字体黑色:

Theme.Light.NoTitleBar:白色主题、无标题栏、有状态栏、TextView字体黑色

Theme.Light.NoTitleBar.Fullscreen:白色主题、无标题栏、无状态栏、Textiew黑字

从上边可以看出:"Theme"是一个域,"NoTitleBar"指无标题栏,"FullScreen"指无状态栏。

(4)墙纸

Theme.Wallpaper:与黑色主题类似,只是北京变为手机墙纸图片

同样,Theme.Wallpaper.NoTitleBar:同上,无标题栏

Theme.Wallpaper.NoTitleBar.Fullscreen:同上,无标题栏、无状态栏

(5)半透明

Theme.Translucent:半透明(说是半透明,但看效果是透明的)

同样的,Theme.Translucent.NoTitleBar:同上,去掉了标题栏

Theme.Translucent.NoTitleBar.Fullscreen:同上,去掉了标题栏和状态栏

(6)质朴风

Theme.Holo( | .NoActionBar(难道在Holo中TitleBar改名了) | .NoActionBar .Fullscreen):质朴风,黑色背景蓝色标题栏底、标题栏可显示icon、TextView反色字( | 去掉标题栏 | 去掉标题栏和状态栏)

Theme.Holo.Light( | .NoTitleBar | .NoTitleBar.Fullscreen):质朴风,银色背景、标题栏可显示icon、TextView黑字( | 去掉标题栏 | 去掉标题栏和状态栏)

Theme.Holo.Wallpaper( | .NoTitleBar | 没有.NoTitleBar .Fullscreen):墙纸背景质朴风,标题栏有蓝色底边( | 去掉标题栏 | 状态栏去不掉)

*注意*

没有Theme.Holo.Black,Theme.Holo默认就是黑色背景的

系统没有Theme.Holo.Translucent

其实,看完上边大家只要记住Black、Light、Holo、Translucent、Wallpaper、NoTitleBar、NoActionBar、FullScreen……等关键字和其意义(更多关键字的功能有待探索),用的时候在系统列表里找相应组合就可以了,比如上边要隐藏标题栏的、要设置全屏的根据需要找相应的Theme就可以了。至于没有的也不能自己创造,只能自定义了。

(二)Activity加载时设定

在Activity的onCreate()方法中,在setContent()之前采用以下语句设置

this.requestWindowFeature(Window.FEATURE_NO_TITLE); // 隐藏应用程序的标题栏,即当前activity的label
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); // 隐藏android系统的状态栏

*注意*必须在setContent()方法之前设置,否则没有效果,因为setContent方法设置"View绘制区域"所显示的组件,而状态栏、标题栏都是View绘制区之外的区域(应用区、屏幕)

Activity设置全屏显示的两种方式及系统自带theme属性解析的更多相关文章

  1. Android中界面实现全屏显示的两种方式

    在开发android的应用当中,我们会遇到将一些界面设置为全屏显示的格式,有两种实现的方法.其一是在Java代码中实现,其二是在配置文件中实现. 1. 在Java代码中设置 super.onCreat ...

  2. Android开发之全屏显示的两种方法

    1.通过修改清单文件中Theme,实现全屏 <application android:name=".MyApplication" android:allowBackup=&q ...

  3. Activity设置全屏的三种方法

    1.super.onCreate(savedInstanceState)方法之前调用:            setTheme(android.R.style.Theme_Light_NoTitleB ...

  4. [Android]解决3gwap联网失败:联网请求在设置代理与直连两种方式的切换

    [Android]解决3gwap联网失败:联网请求在设置代理与直连两种方式的切换 问题现象: 碰到一个问题,UI交互表现为:联通号码在3gwap网络环境下资源一直无法下载成功. 查看Log日志,打印出 ...

  5. CSS全屏布局的5种方式

    × 目录 [1]float [2]inline-block [3]table[4]absolute[5]flex[6]总结 前面的话 全屏布局在实际工作中是很常用的,比如管理系统.监控平台等.本文将介 ...

  6. CSS全屏布局的6种方式

    前面的话 全屏布局在实际工作中是很常用的,比如管理系统.监控平台等.本文将介绍关于全屏布局的6种思路 float [1]float + calc 通过calc()函数计算出.middle元素的高度,并 ...

  7. 【Python】Python figure显示的两种方式

    1. 两种方式: 终端输出图像新窗口输出图像 2. 终端输出命令: %matplotlib inline 新窗口输出命令: %matplotlib qt5 注意此两个语句是命令行输入,若在spyder ...

  8. UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式

    一.对UITabBar背景和icon图标的一些设置 (1)因为直接给UITabBar设置的背景颜色显示的不纯,半透明的感觉,所以,有时候我们可以直接利用纯色的图片作为背景达到想要的效果: (2)给ic ...

  9. 【iOS开发-31】UITabBar背景、icon图标颜色、被选中背景设置以及隐藏UITabBar的两种方式

    一.对UITabBar背景和icon图标的一些设置 (1)由于直接给UITabBar设置的背景颜色显示的不纯.半透明的感觉,所以,有时候我们能够直接利用纯色的图片作为背景达到想要的效果. (2)给ic ...

随机推荐

  1. autoLayer:一基本布局

    我不会写博客,写的不好请物见怪,这个autoLayer我就直接上图了: 本人环境:IDE(Xcode6)SDK(IOS8) 准备工作:找一个横图psd(由于我不会切图,我只会简单的描述一下图片处理), ...

  2. AutoIt 脚本小试——刷网易云音乐歌单

    AutoIt 确实是个很强大的脚本工具. 如果早知道有这个,当初是怎么都不会去学易语言的  (๑•̀ω•́๑) 这是个简单脚本 = ๛ก(ー̀ωー́ก) 用来增加歌单播放次数和个人的听歌量. 原理不过 ...

  3. 读书笔记 effective c++ Item 39 明智而谨慎的使用private继承

    1. private 继承介绍 Item 32表明C++把public继承当作”is-a”关系来对待.考虑一个继承体系,一个类Student public 继承自类Person,如果一个函数的成功调用 ...

  4. freemarker导出word文档——WordXML格式解析

    前不久,公司一个项目需要实现导出文档的功能,之前是一个同事在做,做了3个星期,终于完成了,但是在项目上线之后却发现导出的文档有问题,此时,这个同事已经离职,我自然成为接班者,要把导出功能实现,但是我看 ...

  5. es 6点滴记录

    关于babel和webpack的使用: Babel 所做的只是帮你把'ES6 模块化语法'转化为'CommonJS 模块化语法',其中的require exports 等是 CommonJS 在具体实 ...

  6. 性能调优案例分享:jvm crash的原因 2

    3.core dump分析 有了core dump文件,接下来要做的就是通过命令去解析此文件,定位具体问题了,主要有以下三个命令: (1)先执行gdb $JAVA_HOME$/bin/java cor ...

  7. Java面试题:写代码使得分别出现StackOverflowError和OutOfMemoryError

    转载自:http://www.cnblogs.com/xudong-bupt/p/3360206.html 今天做了个笔试,这是其中的一道题目:写代码使得分别出现StackOverflowError和 ...

  8. 深度学习实践系列(3)- 使用Keras搭建notMNIST的神经网络

    前期回顾: 深度学习实践系列(1)- 从零搭建notMNIST逻辑回归模型 深度学习实践系列(2)- 搭建notMNIST的深度神经网络 在第二篇系列中,我们使用了TensorFlow搭建了第一个深度 ...

  9. js计算器

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  10. 细细探究MySQL Group Replicaiton — 配置维护故障处理全集

             本文主要描述 MySQL Group Replication的简易原理.搭建过程以及故障维护管理内容.由于是新技术,未在生产环境使用过,本文均是虚拟机测试,可能存在考虑不周跟思路有误 ...