我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android 获取屏幕高度,标题高度,状态栏高度(实例代码)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android 获取屏幕高度,标题高度,状态栏高度(实例代码)

通过View提供的方法获取高度方式有两种:

1, 当前显示的view中直接获取当前view高宽
2, 通过Activity的getWindow().findViewById(Window.ID_ANDROID_CONTENT)获取系统当前显示的 view根(是一个framelayout对象),android绘制会将要绘制的view放置在framelayout中绘制。

Display对象获取屏幕高宽 :


获取display对象 Activity中getWindowManager().getDefaultDisplay()
getWidth() 返回显示界面宽度即屏幕宽度
getHeight() 返回显示界面高度即屏幕高度

由display对象设置DisplayMetrics高宽值,通过DisplayMetrics对象获取屏幕高宽,有点多此一举 :
getWidth() 返回显示界面宽度即屏幕宽度
getHeight() 返回显示界面高度即屏幕高度

常用一些值计算:

屏幕高宽
Canvas对象 、display对象和DisplayMetrics可获取屏幕的高宽

状态栏高度
View的getWindowVisibleDisplayFrame(Rect outRect)附值outRect后,outRect.top()即是状态栏高度

标题高度
View的getWindowVisibleDisplayFrame(Rect outRect1)附值outRect后,outRect.height()-view.getheight()即是标题高度。

1.获取状态栏高度:

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

于是,我们就可以算出状态栏的高度了。
代码如下:
 Rect frame = new Rect();
  getWindow().getDecorView().getWindowVisibleDisplayFrame(frame);
  int statusBarHeight = frame.top;

2.获取标题栏高度:

getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了。
代码如下:
int contentTop = getWindow().findViewById(Window.ID_ANDROID_CONTENT).getTop();
  //statusBarHeight是上面所求的状态栏的高度
  int titleBarHeight = contentTop - statusBarHeight

您可能感兴趣的文章:Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法Android 取得状态栏、任务栏高度的小例子Android有效获取状态栏(StatusBar)高度的方法Android编程实现获取标题栏、状态栏的高度、屏幕大小及模拟Home键的方法Android中获取状态栏高度的两种方法分享Android编程实现获取系统内存、CPU使用率及状态栏高度的方法示例Android如何获取屏幕、状态栏及标题栏的高度详解


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android 获取屏幕高度,标题高度,状态栏高度(实例代码)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android 获取屏幕高度,标题高度,状态栏高度(实例代码)

通过View提供的方法获取高度方式有两种: 1, 当前显示的view中直接获取当前view高宽2, 通过Activity的getWindow().findViewById(Window.ID_ANDROID_CONTENT)获取系统当前显示
2022-06-06

Android怎样获取屏幕、状态栏及标题栏的高度

这篇文章主要介绍了Android怎样获取屏幕、状态栏及标题栏的高度,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在开始之前,先来看一张图:绿色区域:屏幕区域蓝色区域:状态栏区
2023-05-30

Android编程实现获取标题栏、状态栏的高度、屏幕大小及模拟Home键的方法

本文实例讲述了Android编程实现获取标题栏、状态栏的高度、屏幕大小及模拟Home键的方法。分享给大家供大家参考,具体如下: 1. 获取标题栏高度:/** * 获取标题栏的高度 * * @param activity * @ret
2022-06-06

android获取屏幕高度和宽度的实现方法

本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
android获取屏幕高度和宽度的实现方法
2022-06-06

Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法

本文实例讲述了Android获取手机屏幕宽高、状态栏高度以及字符串宽高信息的方法。分享给大家供大家参考。具体如下: 首先定义TextView对象commentText 获取文字的宽高:TextPaint textPaint = new Te
2022-06-06

Android有效获取状态栏(StatusBar)高度的方法

本文实例讲述了Android有效获取状态栏(StatusBar)高度的方法。分享给大家供大家参考,具体如下: 碰到了需要获取状态栏高度的问题。 就像android后期版本,无法直接退出一样。找了一些方法来获取状态栏高度,结果都是为0. 还好
2022-06-06

Android 取得状态栏、任务栏高度的小例子

代码如下:package com.aslibra.test; import android.app.Activity; import android.graphics.Rect; import android.os.Bundle; imp
2022-06-06

Android项目中如何实现获取状态栏的高度

这篇文章将为大家详细讲解有关Android项目中如何实现获取状态栏的高度,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。方法一:private double getStatusBarHeigh
2023-05-31

Android中获取状态栏高度的两种方法分享

前言 最近在做一个关于FAB的功能的时候需要获取状态栏的高度,在网上查了很多种方法,下面是选出的比较合理的两个方法。主要参考stackoverflow的这篇问答:http://stackoverflow.com/questions/3407
2022-06-06

Android在OnCreate中获取控件的宽度和高度的实现代码

在Android中,有时需要对控件进行测量,得到的控件宽度和高度可以用来做一些计算。在需要自适应屏幕的情况下,这种计算就显得特别重要。另一方便,由于需求的原因,希望一进入界面后,就能得到控件的宽度和高度。 可惜的是,根据我的验证,利用网上转
2022-06-06

Android监听键盘状态获取键盘高度的实现方法

前言 Android暂时还没有提供一个合适的API来获取/监听键盘的状态和高度 , 而我们又经常会有这个需求. 最近我的一个项目中,在ugc页面需要在键盘顶部,紧贴着键盘显示一个文字提示,当键盘消失时就隐藏. 因此,我需要监听软键盘的打开/
2022-06-06

Android判断NavigationBar是否显示的方法(获取屏幕真实的高度)

有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键。 比如截屏的时候,要获取屏幕的高度,必须包括NavigationBar的高度。 试过网上的多种方法,但是对那种可以通过手势来显示/隐藏的Navi
2022-06-06

Android编程如何实现获取系统内存、CPU使用率及状态栏高度的方法

这篇文章将为大家详细讲解有关Android编程如何实现获取系统内存、CPU使用率及状态栏高度的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例讲述了Android编程实现获取系统内存、CPU使用
2023-05-30

android实用工具类分享(获取内存/检查网络/屏幕高度/手机分辨率)

代码如下:public class CommonUtil { public static boolean hasSDCard() { String status = Environment.getExternalStorageStat
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录