通过setSystemUiVisibility实现状态栏跟Activity之间的位置关系

以前说到去除状态栏和标题栏总会用到动态代码的方式实现:

getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN);  
requestWindowFeature(Window.FEATURE_NO_TITLE);   

但是在项目开发中,在收集资料时突然找到了一个很好用的API,这个API是 setSystemUiVisibility();

基本上可以定义为状态栏和Activity之间的位置关系。 其动态隐藏和显示状态栏的方式如下:

setSystemUiVisibility(int visibility)传入的实参类型如下:

1.View.SYSTEM_UI_FLAG_VISIBLE :状态栏和Activity共存,Activity不全屏显示。也就是应用平常的显示画面

2.View.SYSTEM_UI_FLAG_FULLSCREEN :Activity全屏显示,且状态栏被覆盖掉

3. View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
:Activity全屏显示,但是状态栏不会被覆盖掉,而是正常显示,只是Activity顶端布   局会被覆盖住

4.View.INVISIBLE
: Activity全屏显示,隐藏状态栏

最基本的用法也就这四个了,其实还有一些实参类型没描述,估摸着现实开发需求也不一定会用到,也没必要去理解了,到时遇到需要的,再查下文档用法就行了。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-11-04 06:38:34

通过setSystemUiVisibility实现状态栏跟Activity之间的位置关系的相关文章

[从头学数学] 第171节 点、直线、平面之间的位置关系

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入了结丹初期的修炼, 这次要修炼的目标是[点.直线.平面之间的位置关系]. 正剧开始: 星历2016年04月10日 13:48:09, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起研究[点.直线.平面之间的位置关系]. 来画个平面玩玩吧. <span style="font-size:18px;">//平面 if (1) { var r = 20; config.setSector(1,1,1,1

PhoneWindow,ViewRoot,Activity之间的大致关系

http://www.nowamagic.net/academy/detail/50160216 在android里,我们都知道activity.但是一个activity跟一个Window是一个什么关系呢? 在activity.java中,我们可以看到两个变量,分别是: private Window mWindow; private WindowManager mWindowManager; 这这个变量是在哪里赋值的呢?可以看到attach函数, mWindow = PolicyManager.

点与线、线与线之间的位置关系

(1) 计算点到直线的距离 如图(a)所示,求点C到直到直线AB的距离.据向量知识可知: 再由三角形知识可知,线段AD的长度为: 所以, 可以这样计算: 当计算完成之后,可以根据相应的坐标值得到点D的坐标,再由上面点和点之间的距离,即可得到线段CD的长度. (2) 判断点是否在直线上 既然已经能够计算点到直线的距离,那么,只需要看点到直线的距离是否为0即可知道这个点在不在直线上.(3) 判断点是否在线段上判断点是否在线段上.这和判断点是否在直线上最大的区别在于线段有起点.终点.如(b)所示,判断

2016.02.20 学习笔记 数据在Activity之间的传递的情况

情况一:一个Activity跳转到另一个Activity时,将第一个Activity的数据传递到第二个Activity里面. 分析:当一个界面跳转到另一个界面的同时还要讲数据传递过去,这种情况需要用Intent类putExtra()方法实现. 具体在Onclick方法中的样例代码如下: Intent i1=new Intent(this,SecondActivity.class); String Message=Edit1.getText().toString(); i1.putExtra("M

Android之Activity之间传递对象

在很多时候,我们需要在Activity之间传递对象,比如当你点击了某列表的item,需要传递给下一个Activity该对象,那我们需要该怎么做呢? Android支持两种传递对象的方式,一种是bundle.putSerializable方式,一种是bundle.putParcelable. 那么下面我们就用一个例子来实践Activity传递对象: 1.首先建立两个类,一个Teacher类表示老师,一个Student类表示学生.内容分别如下: <span style="font-size:1

【Android】多个Activity之间利用bundle传递数值

安卓中的Activity相当于vb,mfc中的窗体,在多个Activity之间传递数据是一个相当核心的功能.下面举个例子来说明这个问题. 一.基本目标 用户在两个输入框中输入用户名.密码之后,跳到另一个Activity当中,显示其输入的内容, 然后这两个Activity能够轻松跳转. 二.制作过程 1.首先MainActivity的登录界面是沿用了<[Android]利用表格布局,Android中xml文件与java的交互制作登录界面>(点击打开链接)的布局,其布局文件activity_mai

在activity之间通过静态变量传递数据

在activity之间通过静态变量传递数据 一.简介 主要作用:解决intent不能传递非序列化的对象 评价:简单方便,不过intent方式更加简单和方便 二.具体操作 1.在传输数据的页面弄好数据,传递给接收数据的页面 Obj1 obj=new Obj1("fry",22); Activity01.obj=obj; 2.在接收数据的页面显示数据 输出obj即可 3.具体代码 传输数据的页面 Intent intent=new Intent();//初始化intent intent.s

大叔也说Xamarin~Android篇~Activity之间传递数组

我们在开发应用程序时,不可能只使用一个Layout或者一个Activity,比如你个管理系统,要求用户先登陆然后再使用,这时你至少要有两个activity吧,先登陆一个,然后成功后需要跳到别一个Activity,这就遇到了多个Activity之间传递数据的问题,这也是今天我们要说的! 先聊聊Activity 首先一个Activity都会去继承Activity类,这个类里有方法已经替我们实现,我们可以把activity看做是MVC里的Action,即它负责渲染我们的页面,组件页面上所需要的数据等,

Android中Fragment和Activity之间的互操作代码例子

摘要 本文介绍了Android中一个Activity中有多个Fragment的情况下,Fragment之间如何通过Activity进行互操作. 源代码 源代码地址为:http://download.csdn.net/detail/logicteamleader/8931199 源代码使用ADT编写,ADT版本为2014,Android版本为android-22. 技术要点 1.在Activity中的多个Fragment之间要互操作,一定要通过此Activity,不能直接通信: 2.在Activi