首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android如何获取屏幕、状态栏及标题栏高度详解

前言 本文主要给大家介绍了关于Android获取屏幕、状态栏及标题栏高度相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细介绍吧 开始之前,先来看一张图: ?...绿色区域:屏幕区域 蓝色区域:状态栏区域 红色区域:标题栏区域 黄色区域:view绘制区域 1.Android手机屏幕高度 整个手机使用发亮,不使用变黑部分,绿色区域 获取屏幕高度方法一 DisplayMetrics...getIdentifier("status_bar_height", "dimen", "android"); if (resourceId 0) { //根据资源ID获取响应尺寸值...().getIdentifier("status_bar_height", "dimen", "android"); if (resourceId 0) { //根据资源ID获取响应尺寸值...手机应用区域(红+黄区域) 手机应用区域=标题栏+View绘制区域(setcontent()设置布局) 获取手机以应用区域 //应用区域 Rect outRect1 = new Rect();

4.5K10

Android编程实现通过反射获取资源Id方法

本文实例讲述了Android编程实现通过反射获取资源Id方法。...分享给大家供大家参考,具体如下: 将自己写工具打成.jar包时候,有时候会需要引用到res资源,这时候不能将资源一起打包,只能通过反射机制动态获取资源....特别用在自己定义一个工具将其打成.jar包时,特别注意资源获取 1、封装成一个工具类 package com.cp.utils; import android.content.Context; public...().getIdentifier(paramString, "array", paramContext.getPackageName()); } } 2、资源获取 <string...更多关于Android相关内容感兴趣读者可查看本站专题:《Android资源操作技巧汇总》、《Android布局layout技巧总结》、《Android视图View技巧总结》、《Android数据库操作技巧总结

1.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

基于Android获取资源id和url方法总结

一、获取android工程里面的各种资源id; 1.1 string型 比如下面: << string name=”OK” 客户端请求成功 << / string //string资源...名称为OK id 获取方式 int strId = getResources().getIdentifier("OK", "string", getPackageName()); 1.2 color...获取系统里资源id android.R.drawable.ic_menu_share int id = getResources().getIdentifier("ic_menu_share", "drawable...", "android"); //注意,最后一个参数必须是“android 三、获取Android工程资源Uri路径,一般是图片,res或者asset下 //*获取Res资源url ContentResolver.SCHEME_ANDROID_RESOURCE...= Uri.parse("file:///android_asset/" + "qq.png"); 以上这篇基于Android获取资源id和url方法总结就是小编分享给大家全部内容了,希望能给大家一个参考

2.4K30

Android 使用Canvas图片上绘制文字方法

AndroidAndroid Paint 字体、粗细等属性一些设置 Android SDK中使用Typeface类来定义字体,可以通过常用字体类型名称进行设置,如设置默认黑体: Paint mp...Typeface.BOLD //粗体 * Typeface.BOLD_ITALIC //粗斜体 * Typeface.ITALIC //斜体 * Typeface.NORMAL //常规 但是有时上面那些设置绘图过程是不起作用...一个小应用,图片上绘制文字,以下是绘制文字方法,并且能够实现自动换行,字体自动适配屏幕大小 private void drawNewBitmap(ImageView imageView, String...// 建立画笔 Paint photoPaint = new Paint(); // 获取更清晰图像采样,防抖动 photoPaint.setDither(true);...canvas.translate(start_x, start_y); staticLayout.draw(canvas); } 以上这篇Android 使用Canvas图片上绘制文字方法就是小编分享给大家全部内容了

4.3K20

Android资源动态加载以及相关原理分析

2.根据Resources对象调用getIdentifier方法获取了图片,文本以及布局id,分别设置图片和文本,再动态加载了一个布局,调用Resources.getXml()方法获取XmlResourceParser...Android,当我们需要加载一个资源时,一般都会先通过getResources()方法,得到一个Resources对象,再通过它提供getXXX方法获取到对应资源,下面将分析一下具体调用逻辑...return mBase.getResources(); } 这里mBase是一个ContextImpl对象,因为Context是一个抽象类,真正实现是ContextIImpl里面的,它...,并且有使用了mActiveResources 作为缓存资源对象,sResourcesManager整个应用程序只有一个实例存在,我们上面分析了创建mResources时候,是首先判断是否有缓存...Resources其实只是一个代理对象,只是暴露给开发者一个上层接口,我们平时调用getResources().getString(),getgetIdentifier方法等都是给开发者直接用.对于资源使用者来说

1.5K80

Android根据资源名获取资源ID

接触过Android开发同学们都知道Android访问程序资源基本都是通过资源ID来访问。这样开发起来很简单,并且可以不去考虑各种分辨率,语言等不同资源显式指定。...痛点 但是,有时候也会有一些问题,比如我们根据服务器端值取图片,但是服务器端绝对不会返回给我们是资源id,最多是一种和文件名相关联值,操作资源少时候,可以维护一个容器进行值与资源ID映射,但是多的话...便捷方法 在这种情况下,使用文件名来得到资源ID显得事半功倍。 通过调用ResourcesgetIdentifier可以很轻松地得到资源ID。...2130837504;imageResIdByAnotherForm = 2130837504;musicResId=2130968576;notFoundResId =0 看一看API 直接API 这个方法用来使用资源名来获取资源...defType和defPackage省略时,需要将其设置成null 注意这个方法不提倡,因为直接通过资源ID访问资源会更加效率高 如果资源没有找到,返回0,Android资源ID0不是合法资源ID

3.4K10

Android应用开发】EasyDialog 源码解析

, 背景设置成透明, 然后会计算组件坐标, 记录坐标位置, 再在弹出整个对话框 绘制一个 带小三角对话框布局, 并让其执行动画; 2....动画集合, 调用 AnimatorSet.Builder 得 play() 方法, 可以一个一个地向其中添加动画; 3....坐标计算时机 坐标计算 : 计算坐标时需要获取组件宽 和 高, 下面的代码可以获取宽高, 获取到宽高后, 其坐标自然就计算好了; -- 获取屏幕宽高代码 : 在其中 onGlobalLayout...方法可以获取其宽高; /* * 获取对话框宽 高 * 不是真的获取对话框宽高, 是在对话框被构建绘制到 布局时 * 利用这个时机去设置对话框位置 */ ViewTreeObserver...获取对话框宽 高 * 不是真的获取对话框宽高, 是在对话框被构建绘制到 布局时 * 利用这个时机去设置对话框位置 */ ViewTreeObserver viewTreeObserver

1K20

Android自定义控件坐标系解析

自定义控件要想彻底把握,掌握Android各种坐标系及一些API坐标含义毫无疑问是不可忽视技能,对于控件摆放位置、触摸点、控件绘制等都离不开坐标系,所以学习自定义控件之前我们就先来谈一下Android...Resources resources = this.getResources(); int resourceId = resources.getIdentifier(...三、Android坐标系分类 上面我们分析了Android屏幕区域划分,接着我们分析一下与区域相关Android坐标系,Android坐标系可以分为:屏幕坐标系,视图坐标系。...(2)、视图坐标系 视图坐标系View绘制过程绘制内容将以坐标系作为参考,最后确定绘制内容View里面的位置。 ?...,即getRight()-getLeft() getHeight(): 当前View宽度,即getBottom()-getTop() 需要注意使用以上方法过程要在View测量结束即渲染完成后

69130

ProgressiveJpeg介绍与Android使用

imageMogr2/thumbnail/300x300/interlace/1 Android如何使用ProgressiveJpeg 目前,众多开源图片加载库,只有Fresco支持了ProgressiveJpeg...因为不论支不支持渐进式加载,一般解码器(如AndroidBitmapFactory)一定能够解码出最终完整Jpeg图片。 那么,为什么它们无法支持渐进式呢。...同时,我们继续读取数据流,找到下一个解析点,就可以解析出一张更清晰图片。 ---- 自己解析ProgressiveJpeg 我们先来看看解析(寻找某个Scan)过程。...上面代码,我们将读到所有字节都写入了mBaos。所以,newScanOrImageEndFound();我们将mBaos数据拿出来做处理。...通过这种方法,我们就可以Android设备上也展现出渐进式加载效果。是不是很cooool。 但是,这个方法因为会不断地产生byte[]其实非常吃内存。实际使用,我们可以考虑限制渐进图片粒度。

1.8K40

Android实现状态栏和虚拟按键背景颜色变化实例代码详解

今天介绍一下,我项目开发过程,实现状态栏和虚拟按键背景颜色变化方法,实现方式是,通过隐藏系统状态栏和虚拟按键背景,实现图片和背景显示到状态栏和虚拟按键下方。...().getIdentifier("status_bar_height", "dimen", "android"); return context.getResources().getDimensionPixelSize...().getResources().getConfiguration(); //获取设置配置信息 int ori = mConfiguration.orientation; //获取屏幕方向 if (...)); } 这里我直接使用系统布局,首先调用hasNavigationBar()判断是否有虚拟按键,如果有,则调用initActivity()初始化NavigationBarUtil工具类,工具类构造方法...,给传入view添加了全局布局监听器,监听视图变化,监听器,调用resetViewHeight1()方法,里面通过CalculateAvailableHeight()获取虚拟按键高度,根据横竖屏不同

1.7K30
领券