Android获取状态栏和标题栏的高度
版权声明:本文为博主原创文章,未经博主允许不得转载。
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
例子代码:
- 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);}}
- <?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获取状态栏和标题栏的高度相关推荐
- Android获取状态栏、标题栏、屏幕高度
本文摘抄自:http://xqjay19910131-yahoo-cn.iteye.com/blog/1435249 1.获取状态栏高度 decorView是window中的最顶层view,可以从wi ...
- Android获取状态栏的高度:
方法一: //获取手机状态栏高度public static int getStatusBarHeight(Context context){Class<?> c = null;Object ...
- Android获取虚拟导航键的高度
自从有了全面屏,就有了虚拟按键,我们该如何获取 屏幕的真实高度 以及 虚拟键的高度 呢? 之前我们使用的都是下面的方法,但有一个问题就是,在全面屏中,它获取到的高度是不包含下面导航键的高度的: pub ...
- android获取状态栏截屏按钮状态,关于代码截屏带状态栏的问题
昨天产品经理告诉我,希望能实现仿网易严选那样,可以捕捉到用户的截屏操作,然后进行截屏分享的小功能. 在实现的过程中遇到的最大问题就是截屏为什么没有状态栏???然后各种查找,资料聊聊无几,只有大神Ope ...
- Android隐藏状态栏和标题栏,相当于全屏效果
隐藏标题栏需要使用预定义样式:android:theme="@android:style/Theme.NoTitleBar". 隐藏状态栏:android:theme=" ...
- android 状态栏和标题栏,Android隐藏状态栏和标题栏,相当于全屏效果
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. 隐藏标题栏需要使用预定义样式:android:theme="@android:s ...
- Android 获取WebView的内容宽度高度
转自:http://www.android100.org/html/201311/19/4804.html Android开发时,从WebView,我不但想要知道ContentHeight,还想知道C ...
- android dp不同高度,Android获取屏幕的宽度和高度(dp)
相信各位做Android开发的朋友们对Android手机做适配是件很烦的事.在美工里一般用的单位是px,而Android为了适配,官方提供了dp这样一个单位在布局文件里使用.但是如果要动态调整控件的大 ...
- Android隐藏状态栏和标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);// 隐藏标题栏getWindow().setFlags(WindowManager.LayoutParam ...
- 支付宝小程序自定义状态栏,标题栏,标题栏文字。
1.app.json里面设置transparentTitle: 'none',"titlePenetrate":"NO"设置全局标题栏不透明和标题栏不穿透属性. ...
最新文章
- Redis的搭建和Redis的集群搭建
- Java高级开发工程师面试笔记
- 设计模式 简单工厂模式
- 工业以太网交换机常见故障排除的三种方法
- 小白入门机器学习必备:编程语言环境介绍及搭建
- php 自己电脑运行内存,php 统计网页打开耗时和脚本运行内存
- (转)SpringMVC学习(八)——SpringMVC中的异常处理器
- 08-10 性能瓶颈证据链
- (一)在Lingo中使用集合
- 第一章,安装 composer
- elasticsearch 关联查询_Elasticsearch字段类型之Range经典应用场景
- 机器人学导论 二、正运动学,MDH法
- houdini 常用
- Win10如何使用命令释放IP和重新获取新IP
- html5 手机uc浏览器 复制链接,H5手机移动端调起浏览器(qq浏览器,uc浏览器)自带分享功能实例...
- 阿里技术专家:从程序员到技术总监,我的十五年IT路!
- appcan mysql_AppCan 双击返回按钮退出应用 | 学步园
- Python爬虫 selenium自动化 利用搜狗搜索爬取微信公众号文章信息
- django html 插入网页背景图片
- 计算机网络实验报告一