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

1.获取状态栏高度:

decorView是window中的最顶层view,可以从window中获取到decorView,然后decorView有个getWindowVisibleDisplayFrame方法可以获取到程序显示的区域,包括标题栏,但不包括状态栏。
于是,我们就可以算出状态栏的高度了。

[Java] view plaincopy
  1. Rect frame = new Rect();getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);int statusBarHeight = frame.top;

2.获取标题栏高度:

getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。

[java] view plaincopy
  1. int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();//statusBarHeight是上面所求的状态栏的高度int titleBarHeight = contentTop - statusBarHeight

例子代码:

[java] view plaincopy
  1. package com.cn.lhq;import Android.app.Activity;import android.graphics.Rect;import android.os.Bundle;import android.util.Log;import android.view.Window;import android.widget.ImageView;public class Main extends Activity {ImageView iv;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);iv = (ImageView) this.findViewById(R.id.ImageView01);iv.post(new Runnable() {public void run() {viewInited();}});Log.v("test", "== ok ==");}private void viewInited() {Rect rect = new Rect();Window window = getWindow();iv.getWindowVisibleDisplayFrame(rect);int statusBarHeight = rect.top;int contentViewTop = window.findViewById(Window.ID_ANDROID_CONTENT).getTop();int titleBarHeight = contentViewTop - statusBarHeight;// 测试结果:ok之后 100多 ms 才运行了Log.v("test", "=-init-= statusBarHeight=" + statusBarHeight+ " contentViewTop=" + contentViewTop + " titleBarHeight="+ titleBarHeight);}}
[xhtml] view plaincopy
  1. <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"><ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout>

转载于:https://www.cnblogs.com/ldq2016/p/6835368.html

Android获取状态栏和标题栏的高度相关推荐

  1. Android获取状态栏、标题栏、屏幕高度

    本文摘抄自:http://xqjay19910131-yahoo-cn.iteye.com/blog/1435249 1.获取状态栏高度 decorView是window中的最顶层view,可以从wi ...

  2. Android获取状态栏的高度:

    方法一: //获取手机状态栏高度public static int getStatusBarHeight(Context context){Class<?> c = null;Object ...

  3. Android获取虚拟导航键的高度

    自从有了全面屏,就有了虚拟按键,我们该如何获取 屏幕的真实高度 以及 虚拟键的高度 呢? 之前我们使用的都是下面的方法,但有一个问题就是,在全面屏中,它获取到的高度是不包含下面导航键的高度的: pub ...

  4. android获取状态栏截屏按钮状态,关于代码截屏带状态栏的问题

    昨天产品经理告诉我,希望能实现仿网易严选那样,可以捕捉到用户的截屏操作,然后进行截屏分享的小功能. 在实现的过程中遇到的最大问题就是截屏为什么没有状态栏???然后各种查找,资料聊聊无几,只有大神Ope ...

  5. Android隐藏状态栏和标题栏,相当于全屏效果

    隐藏标题栏需要使用预定义样式:android:theme="@android:style/Theme.NoTitleBar".  隐藏状态栏:android:theme=" ...

  6. android 状态栏和标题栏,Android隐藏状态栏和标题栏,相当于全屏效果

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 隐藏标题栏需要使用预定义样式:android:theme="@android:s ...

  7. Android 获取WebView的内容宽度高度

    转自:http://www.android100.org/html/201311/19/4804.html Android开发时,从WebView,我不但想要知道ContentHeight,还想知道C ...

  8. android dp不同高度,Android获取屏幕的宽度和高度(dp)

    相信各位做Android开发的朋友们对Android手机做适配是件很烦的事.在美工里一般用的单位是px,而Android为了适配,官方提供了dp这样一个单位在布局文件里使用.但是如果要动态调整控件的大 ...

  9. Android隐藏状态栏和标题栏

    requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏标题栏getWindow().setFlags(WindowManager.LayoutParam ...

  10. 支付宝小程序自定义状态栏,标题栏,标题栏文字。

    1.app.json里面设置transparentTitle: 'none',"titlePenetrate":"NO"设置全局标题栏不透明和标题栏不穿透属性. ...

最新文章

  1. Redis的搭建和Redis的集群搭建
  2. Java高级开发工程师面试笔记
  3. 设计模式 简单工厂模式
  4. 工业以太网交换机常见故障排除的三种方法
  5. 小白入门机器学习必备:编程语言环境介绍及搭建
  6. php 自己电脑运行内存,php 统计网页打开耗时和脚本运行内存
  7. (转)SpringMVC学习(八)——SpringMVC中的异常处理器
  8. 08-10 性能瓶颈证据链
  9. (一)在Lingo中使用集合
  10. 第一章,安装 composer
  11. elasticsearch 关联查询_Elasticsearch字段类型之Range经典应用场景
  12. 机器人学导论 二、正运动学,MDH法
  13. houdini 常用
  14. Win10如何使用命令释放IP和重新获取新IP
  15. html5 手机uc浏览器 复制链接,H5手机移动端调起浏览器(qq浏览器,uc浏览器)自带分享功能实例...
  16. 阿里技术专家:从程序员到技术总监,我的十五年IT路!
  17. appcan mysql_AppCan 双击返回按钮退出应用 | 学步园
  18. Python爬虫 selenium自动化 利用搜狗搜索爬取微信公众号文章信息
  19. django html 插入网页背景图片
  20. 计算机网络实验报告一

热门文章

  1. C#一个FTP操作封装类FTPHelper
  2. 面向对象的关键技术(多态、接口、抽象)
  3. 一份最新的、全面的NLP文本分类综述
  4. 干货 | 斯坦福统计学习理论笔记:带你搞定「贼难」的理论基础
  5. 授人以渔:分享我的文本分类经验总结
  6. 每日算法系列【LeetCode 121】买卖股票的最佳时机
  7. 论文赏析[EMNLP18]针对自顶向下和中序移进归约成分句法分析的Dynamic Oracles
  8. NLP—1.自然语言处理的基础任务与应用
  9. 深度学习2.0-30.卷积神经网络之池化与采样
  10. resnet18实现cifar10分类