Android获得标题栏和状态栏高度,以及立即获取控件的高度

Android如何获取屏幕、状态栏及标题栏的高度详解 在日常开发中,经常会遇到获取屏幕高度、状态栏高度等需求,所以下面这篇文章就给大家总结介绍了关于Android如何获取屏幕、状态栏及标题栏高度的相关资料,文中通过示例代码介绍的非常详细,需要的朋友们可以参考下。 立即下载

直接看代码注释吧

 

package com.test01;

import android.app.Activity;
import android.graphics.Rect;
import android.os.Bundle;
import android.view.ViewTreeObserver;
import android.view.Window;
import android.widget.TextView;

public class Test01Activity extends Activity {
	/**
	 * 必须要设置一个View作为参照物
	 */
	private TextView tv;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        tv = (TextView) findViewById(R.id.tv);
        // 必须用这种方法获得。不用得到的数据为0
        tv.post(new Runnable() {
			
			public void run() {
				init();
			}
		});
        
        // 获取控件的高度
        ViewTreeObserver vto = tv.getViewTreeObserver();
        vto.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
            public boolean onPreDraw() {
                int height = tv.getMeasuredHeight();
                int width = tv.getMeasuredWidth();
                System.out.println(height+",,"+width);
                return true;
            }
        });



    }
    
    private void init(){
    	Rect rect = new Rect();
    	Window window = getWindow();
    	tv.getWindowVisibleDisplayFrame(rect);
    	// 状态栏的高度
    	int statusBarHeight = rect.top;
    	// 标题栏跟状态栏的总体高度
    	int contentViewTop = window.findViewById(Window.ID_ANDROID_CONTENT).getTop();
    	// 标题栏的高度:用上面的值减去状态栏的高度及为标题栏高度
    	int titleBarHeight = contentViewTop - statusBarHeight;
    	System.out.println(statusBarHeight+"..."+contentViewTop+"..."+titleBarHeight);
    }
}

Android 获取屏幕高度,标题高度,状态栏高度(实例代码) getWindow().findViewById(Window.ID_ANDROID_CONTENT)这个方法获取到的view就是程序不包括标题栏的部分,然后就可以知道标题栏的高度了 立即下载

相关推荐

QT实现Word读写

在windows环境下,我们可以通过ActiveQt实现Office自动化,相当于VB的VBA功能。 以下是一个实例: #include #include #include int main(int argc, char *argv[]) {     QApplication a(argc, argv);     //显示的打开一个word应用程序     QAxW

nameofhsw的专栏 1万+

Android获取状态栏和标题栏的高度

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

joychine的专栏 2715

企业级智能问数开发的核心痛点与技术聚焦

本文介绍了企业级智能问数系统开发的三大核心问题和解决方案:语义解析不精准、SQL生成不健壮、企业适配难落地。文章从开发者视角出发,详细拆解了NLU语义解析、SQL生成、对话记忆、企业级适配四大核心模块的技术实现。 在技术选型方面,推荐了LangChain+DeepSeek-R1、FAISS/Milvus、SQLAlchemy等工具链组合。针对企业级需求,重点讲解了: 语义解析模块的意图识别优化和要素提取技术 SQL生成模块的语法校验与性能优化方案 对话记忆模块的Redis存储实现 企业级适配的三层防护体系和

lamehsl的专栏 1047

原:Android 获取屏幕高度、标题高度、状态栏高度详解

A ndroid 获取屏幕高度、标题高度、状态栏高度详解    Jojol_Zhou ,2010/11/29 Android获取屏幕高度的方法主要由view提供 通过View提供的方法获取高度方式有两种:   1, 当前显示的view中直接获取当前view高宽 2, 通过Activity的getWindow().findViewById(Window.ID_ANDROI...

zhoujihong19的专栏 283

“基于车载车机 ADB 的安卓自动化测试”以及“类似智谱 AutoGLM 的 AI 安卓自动化项目”的整理和选型建议。

本文系统梳理了安卓自动化测试两大路线。传统ADB框架中,**Appium**适用于企业级测试,**AndroidViewClient**和**Airtest**适合脚本化与图像识别场景。AI驱动的方案里,**智谱Open-AutoGLM**擅长中文场景的视觉理解与操作,**DroidRun**支持多模型与跨平台,而**Android-MCP**则适合将安卓能力作为工具集成到现有AI平台。选型需根据稳定性、技术栈与AI集成需求决定。

weixin_39072720的博客 901

Cursor设置界面汉化保姆级教程:手把手教你修改JS文件实现中文界面(附避坑指南)

本文提供Cursor编辑器设置界面汉化的详细教程,从定位JS文件到安全修改实现中文界面,包含必备工具清单、文件路径指引和常见问题解决方案。通过手把手教学帮助用户轻松完成汉化,提升使用体验,特别适合不熟悉英文界面的开发者。

weixin_29007809的博客 1414

android 自定义view

1. 获取屏幕 获取屏幕高,宽,状态栏高度,title高度 DisplayMetrics  dm = new DisplayMetrics();        //取得窗口属性       getWindowManager().getDefaultDisplay().getMetrics(dm);               //窗口的宽度        int scr

xxzjwdnlwx的专栏 592

qmc5883p芯片坐标系方向定义

问题 最近一个项目用到qmc5883p, 然而确定磁力计方向的时候发现datasheet上写的不是很清楚, 并且example中还有一个设置方向的一步, 于是测试了芯片坐标方向并记录了下来; 该芯片和qmc5883L方向并不一致; 结果 qmc5883P的datasheet给出来如下说明, Y为笔者添加的; 但是这个方向是按照datasheet的example设置的结果: //Define the sign for X Y and Z axis qmc5883p_write_reg(0x2

时有限 4119

Andorid 获取系统标题栏高度

Android 获取系统 标题栏高度

weixin_37077736的博客 296

GEE训练教程:如何批量从Google assets中将时序影像批量导出到Google drive

本文介绍了一种使用Google Earth Engine(GEE)批量导出2000-2023年叶绿素a(Chl-a)浓度数据的方法。通过JavaScript代码自动生成多个年份的导出任务,将数据保存至Google Drive指定文件夹。文章详细说明了代码参数配置、使用步骤和注意事项,包括资产命名规则验证、导出任务启动方式,以及分辨率、区域范围等关键参数的调整建议。同时提供了常见问题的解决方案,如处理缺失年份数据、解决导出像素超限等问题。该方法可显著提高多年份Chl-a数据批量导出的效率,适用于水体环境研究的

此星光明博客 91

CloudCompare二次开发(1)——获取指定高程的所有点

使用CloudCompare插件实现获取点云数据中指定高程的所有点。

点云侠的博客 4735

android获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度

android获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度 1.获取自定义控件height 在本Activity中获取当前Activity中控件的height: Button button = (Button)findViewById(R.id.button); int buttonHeight = button.getHeight(); 在Activity

努力ing的菜鸟 2817

IEC 104电力规约详细解读(一) - 报文结构、报文分类、ASDU

比如,双方可以按频率发送,比如接收8帧I帧回答一帧S帧,也可以要求接收1帧I帧就应答1帧S帧,当然也可以不要求(S帧内容示例参考例1)。所以U帧格式的控制欲第一个字节就只有6种情况,分别是0x83(TESTER确认)、0x43(TESTER命令)、0x23(STOPDT确认)、0x13(STOPDT命令)、0x0B(START确认)、0x07(START命令)ASDU(应用服务数据单元),协议原文格式最好去101协议去看看,会比较详细。遥信、遥测、遥控、遥调、总召、对时等都需要使用I格式传送。

张二狗的博客 1万+

Android获取状态栏、标题栏、ActionBar以及屏幕的高度

一、屏幕高度和宽度获取方法 int screenWidth,screenHeight; WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); screenWidth = display.getWidth(); screenHe

ncepu307的专栏 4527

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Android 获取屏幕、状态栏、标题栏的高度详解

前言 如下图: 绿色区域:屏幕区域 蓝色区域:状态栏区域 红色区域:标题栏区域 黄色区域:view绘制区域 1.Android手机屏幕的高度(绿色区域) 方法一 DisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); Log.e("TAG", "屏幕高:" + dm.heightPixels); 方法二 DisplayMetrics displayMetrics

fenglolo的博客 1847

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Android之获取屏幕的尺寸像素及获取状态栏标题栏高度

在Android的实际开发中,会经常用到获取屏幕的尺寸的问题,以便设置一些布局在屏幕上的固定位置,从而适配各个屏幕的设备。 今天我就来讲一下怎么得到当前设备的屏幕像素吧: 一、如果是在Activity界面中: Display display = getWindowManager().getDefaultDisplay();//得到当前屏幕的显示器对象 Point size = new

【博客地址迁移到】:https://zhengxiaoyong.com 4809

android获得标题栏高度,Android 获得状态栏、标题栏以及控件的高度

注意,数据的获取应该在onWindowFocusChanged函数中进行,防止数据获取错误。 首先声明整个手机屏幕的获取:activity.getWindowManager().getDefaultDisplay();复制代码声明整个应用(除了状态栏之外的区域的获取):Rect outRect = new Rect();activity.getWindow().getDecorView().get...

weixin_39537680的博客 465

android 获取xml控件的高度,Android获取自定义控件位置坐标 屏幕尺寸 标题栏 状态栏高度...

android获取自定义控件位置坐标,屏幕尺寸,标题栏,状态栏高度1.获取自定义控件height在本Activity中获取当前Activity中控件的height:Button button = (Button)findViewById(R.id.button);int buttonHeight = button.getHeight();在Activity中获取其他xml文件中控件的height:...

weixin_29303701的博客 942

android 状态栏高度多少像素,Android之获取屏幕的尺寸像素及获取状态栏标题栏高度...

在Android的实际开发中,会经常用到获取屏幕的尺寸的问题,以便设置一些布局在屏幕上的固定位置,从而适配各个屏幕的设备。今天我就来讲一下怎么得到当前设备的屏幕像素吧:一、在Activity中:Display display = getWindowManager().getDefaultDisplay();//得到当前屏幕的显示器对象Point size = new Point();//创建一个P...

weixin_36464343的博客 1249

Android获取控件位置坐标,屏幕尺寸,标题栏,状态栏高度

1.屏幕尺寸,源代码如下:     DisplayMetrics metrics = new DisplayMetrics();     getWindowManager().getDefaultDisplay().getMetrics(metrics);     int screenWidth=metrics.widthPixels;            //屏幕宽度     int

月十二 1373

Android获得标题栏,状态栏,控件,屏幕高度

注意,数据的获取应该在onWindowFocusChanged函数中进行,防止数据获取错误。 首先声明整个手机屏幕的获取:activity.getWindowManager().getDefaultDisplay();声明整个应用(除了状态栏之外的区域的获取): Rect outRect = new Rect(); activity.getWindow().getDecorVie

James_shu的博客 2496

Android学习——获取状态栏,标题栏,导航栏高度的方法

    最近在写自定义控件的时候被屏幕高度的获取小坑了一下,哈哈,还好最后解决了,写篇简单的博客记录下来    如下图,红色圈起来的部分是状态栏,黄色部分是标题栏,蓝色部分是导航栏,直接上方法    获取状态栏高度private void initStatusBarHeight(){ int result = 0; int resourceId = this.myC...

qq_37656219的博客 350
上一篇: Android,string.xml中使用占位符
下一篇: Android之BaseAdapter结构,拿来用原则
SmartSimba
博客等级 码龄15年 47粉丝 66原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值