1:DecorView的高度

DecorView的高度代表的是: 整个装饰窗口的高度, 这个高度包括:状态烂的高度和导航栏的高度.(状态栏和导航栏通常叫做装饰窗口, 而ActionBar不属于装饰窗口)

这个高度, 可以代表着整个玻璃屏幕的高度.

2.Window的RootView的高度

RootView的获取方式:getWindow().findViewById(Window.ID_ANDROID_CONTENT);

这个View对应的高度, 可以表示当前应用程序的有效高度.

在没有任何修饰的情况下, 应用程序的高度是去掉状态栏和导航栏后的高度;

也就是 (DecorView的高度)-(状态栏的高度)-(导航栏的高度);

但是,如果你使用:

setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

这个方法, 那么RootView的高度会和DecorView的高度相等;

3:heightPixels的高度

heightPixels

这个高度表示…屏幕有效的高度;;;

什么意思呢?

就是:DecorView的高度去掉导航栏的高度.

这个高度不管你有没有隐藏导航栏, 这个值都不会改变;

所以:

番外:如果你想知道你的手机有没有导航栏:

如果 (DecorView的高度)-(heightPixels) > 0 说明 你的手机有导航栏

番外:如果你想知道你的程序有没有隐藏导航栏:

情况1:设置了SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN属性:

如果 (RootView的高度)-(heightPixels) > 0 说明 显示了导航栏

情况2:没有设置SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN属性:

如果 (RootView的高度+状态栏的高度)-(heightPixels) > 0 说明 显示了导航栏

附加1 获取状态栏的高度

正常情况下: (heightPixels) - (RootView的高度) = 状态栏的高度

但是如果你设置了View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN或者View.SYSTEM_UI_FLAG_HIDE_NAVIGATION属性的话,,,这种方法就不准确了.

万能,100%准确的方法:

getResources().getDimensionPixelSize(getResources().getIdentifier(“status_bar_height”, “dimen”, “android”));

附加2:获取导航栏的高度

正常情况下: (DecorView的高度) - (heightPixels) = 导航栏的高度

但是如果你设置了View.SYSTEM_UI_FLAG_HIDE_NAVIGATION属性的话,,,这种方法就不准确了.

万能,100%准确的方法:

getResources().getDimensionPixelSize(getResources().getIdentifier(“navigation_bar_height”, “dimen”, “android”));

原文:http://www.cnblogs.com/ldq2016/p/6671819.html

android ui状态栏高度,Android--状态栏高度,导航栏高度,Window高度,DecorView高度,heightPixels...相关推荐

  1. Android UI 设计规范,Android高分面试指南

    | 45% | 73 | | 40% | 66 | | 35% | 59 | | 30% | 4D | | 25% | 40 | | 20% | 33 | | 15% | 26 | | 10% | 1 ...

  2. android判断多个按钮,Android开发之判断有无虚拟按键(导航栏)的实例

    判断有无虚拟按键(导航栏) 现在很大一部分手机没有虚拟按键,一部分有.我们在做适配的时候可能会用到这方面的知识. 例如:屏幕填充整个屏幕的时候,没办法只能连导航栏一起填充了,但是这个不是我们想要的,我 ...

  3. 腾讯 android ui,腾讯开源的Android UI框架——QMUI Android

    各位同学,早上好,我是你们的老朋友D_clock爱吃葱花,前些天忙着发版本,最近也在看各种各样的新知识,有好多东西想写啊啊啊啊啊.嗯,先冷静捋一下,卖个关子.扯回正题,今天继续为大家推荐一个Githu ...

  4. 转载:Android (争取做到)最全的底部导航栏实现方法

    原文出处 标题:Android (争取做到)最全的底部导航栏实现方法 作者:野狼谷 原文链接:Android (争取做到)最全的底部导航栏实现方法 - 野狼谷 - 博客园 前言 本文(争取做到)And ...

  5. 安卓Android修改车机版系统的导航栏和状态栏高度

    1.修改路径 状态栏路径:frameworks/base/core/res/res/values/dimens.xml <!-- Height of the status bar in port ...

  6. android顶部导航高度,快速实现顶端导航栏(ToolBar+TabLayout+Viewpager)

    1.前言 在Android开发前期时,实现一个业务分明的导航栏对后面各业务开发与解耦都有重要意义.现在各种厂商的导航栏样式都比较类似,Tab型的导航是当下被大家所选择的形式,今天我们就来快速搭建一个T ...

  7. android ui布局设计,android 界面设计规范汇总

    发现自己从小到大,有些错误一直在犯,两条: 童年--现在 丢东西--忘记保存 粗心错最简单的选择题--忘记最基本的交互设计规范 -------------------------- 从优设网抄一遍. ...

  8. 原生Android打造一个炫酷的底部导航栏

    最近浏览各大平台,发现各种导航栏层出不穷,出于好奇心,我也来试试.先上个效果图 代码也简单:首先布局文件 <?xml version="1.0" encoding=" ...

  9. Android开发:隐藏和显示底部导航栏

    描述:视频播放器实现全屏和小屏互相切换时,显示和隐藏底部导航栏的方法 该例子设置的Activity是去除状态栏和标题栏,全屏显示布局和电量等信息.Manifest文件 theme如下: <act ...

  10. android ui布局适配,Android适配全面总结(一)----屏幕适配

    前言 Android适配是一个老生常谈的问题,很多程序员觉得很恶心,不愿意做适配,但是又不得不做.然后老板说,这位兄弟,做好了,今天晚饭给你加个鸡腿,然后程序员开始找各种资料,忙活起来了,最终在苦逼的 ...

最新文章

  1. JSTL标签库学习笔记
  2. APUE和UNP怎么学?
  3. Python脚本:聚类小分子数据集
  4. 华为与思科VRRP协议
  5. 20155327《Java程序设计》第二周学习总结
  6. 北斗导航 | 坐标变换矩阵(CTM)与欧拉角(Euler)互相转换:Matlab源代码
  7. python窗体处理access数据库_用Python操作MS Access数据库
  8. Django中ORM常用字段类型及参数
  9. 昔年浅谈成都的百度推广公司靠谱吗这个问题?!
  10. 西安西北大学计算机研究生学费,关于西北大学研究生学费及住宿的解答
  11. 如何隐藏电脑下方工具栏个别图标_电脑下方隐藏小图标怎么设置
  12. vue 中 axios的post请求,415错误
  13. java实现日期转中文大写形式
  14. 见证成长,PostgreSQL线上沙龙感谢有你
  15. 一页纸项目管理pdf_项目管理,一页纸就够了
  16. 初学者必会的Linux命令 - 文件查看篇
  17. LTE学习-PSS主同步信号
  18. Ubuntu 搜索不到WIFI或连接不上的解决方法
  19. IBM V系列存储常用命令
  20. kali入门笔记(残缺版)

热门文章

  1. element-ui如何进行调试
  2. java 数组地图绘画_Java将地图转换为数组[Snippet]
  3. 华为云计算值班电工_华为FusionModule2000智能微模块荣获2019云计算中心科技奖卓越奖...
  4. android webview 图表,Android WebView 无法正常显示网页图表
  5. c语言安卓贪吃蛇代码下载,C语言贪吃蛇代码
  6. php额拍戏,像这种会演戏的演员,给我焊在剧组365天拍戏可以吗?
  7. 【C语言进阶深度学习记录】三十七 C/C++中造成程序内存错误的原因(野指针)
  8. 解决tfs工作区绑定问题
  9. 学习笔记day5:inline inline-block block区别
  10. root 密码丢失后的重新设置