iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android屏幕分辨率工具类使用详解
  • 159
分享到

Android屏幕分辨率工具类使用详解

工具类工具分辨率Android 2022-06-06 07:06:35 159人浏览 安东尼
摘要

Android开发中我们经常需要用到将dip、px相互换算、获取手机屏幕的宽度、高度以及状态栏高度等,如下是基于屏幕这一块整理的一个类。 package com.per.lo

Android开发中我们经常需要用到将dip、px相互换算、获取手机屏幕的宽度、高度以及状态栏高度等,如下是基于屏幕这一块整理的一个类。


package com.per.loadingWEBviewdome;
import android.content.Context;
import android.util.DisplayMetrics;
import java.lang.reflect.Field;

public class ScreenUtil {
 
 public static int dip2px(Context mContext, float dpValue) {
 final float scale = mContext.getResources()
  .getDisplayMetrics().density;
 return (int) (dpValue * scale + 0.5f);
 }
 
 public static int px2dip(Context mContext, float pxValue) {
 final float scale = mContext.getResources()
  .getDisplayMetrics().density;
 return (int) (pxValue / scale + 0.5f);
 }
 
 private static int[] getScreenSize(Context mContext) {
 DisplayMetrics dm = mContext
  .getResources().getDisplayMetrics();
 int screenWidth = dm.widthPixels;
 int screenHeight = dm.heightPixels;
 return new int[]{screenWidth, screenHeight};
 }
 
 public static int getStatusBarHeight(Context mContext) {
 Class<?> c = null;
 Object obj = null;
 Field field = null;
 int x = 0, statusBarHeight = 0;
 try {
  c = Class.forName("com.android.internal.R$dimen");
  obj = c.newInstance();
  field = c.getField("status_bar_height");
  x = Integer.parseInt(field.get(obj).toString());
  statusBarHeight = mContext.getResources().getDimensionPixelSize(x);
 } catch (Exception e1) {
  e1.printStackTrace();
 }
 return statusBarHeight;
 }
 
 public static int getScreenWidth(Context mContext) {
 int screen[] = getScreenSize(mContext);
 return screen[0];
 }
 
 public static int getScreenHeight(Context mContext) {
 int screen[] = getScreenSize(mContext);
 return screen[1];
 }
}

对于dip、dp、px和sp,之前不太理解的是dip和px之间的区别,我们知道Google的推荐,像素统一使用dip,字体统一使用sp,接下来具体说明一下:

1. dip: device independent pixels(设备独立像素):不同设备显示效果不同,dip与屏幕密度有关,而屏幕密度又和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这这个,不依赖像素。 dip的换算: dip(value)=(int) (px(value)/1.5 + 0.5)
2. dp: 和dip是完全一样的,只是名字不同而已。
3. px: pixels(像素),绝对像素,不同的设备不同的显示屏显示效果是一样的,这个是多少就永远是多少不会改变。
4. sp: scaled pixels(放大像素). 主要用于字体显示。

下面引用一下上面的屏幕工具


Log.e("获取状态栏高度", String.valueOf(ScreenUtil.getStatusBarHeight(mContext)));
 Log.e("获取手机屏幕的宽度", String.valueOf(ScreenUtil.getScreenWidth(mContext)));
 Log.e("获取手机屏幕的高度", String.valueOf(ScreenUtil.getScreenHeight(mContext)));

下面是打印的日志

您可能感兴趣的文章:android开发教程之实现toast工具类Android应用中使用SharedPreferences类存储数据的方法Android通过"记住密码"功能学习数据存储类SharedPreferences详解及实例简介Android应用中sharedPreferences类存储数据的用法android实用工具类分享(获取内存/检查网络/屏幕高度/手机分辨率)封装的android监听手指左右滑动屏幕的事件类分享Android开发实现的IntentUtil跳转多功能工具类【包含视频、音频、图片、摄像头等操作功能】Android开发之多媒体文件获取工具类实例【音频,视频,图片等】android 一些工具类汇总Android开发中4个常用的工具类【Toast、SharedPreferences、网络及屏幕操作】


--结束END--

本文标题: Android屏幕分辨率工具类使用详解

本文链接: https://www.lsjlt.com/news/24052.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • 如何使用VBS获取屏幕分辨率
    这篇文章主要为大家展示了“如何使用VBS获取屏幕分辨率”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用VBS获取屏幕分辨率”这篇文章吧。一种是WMI中的Win32_DesktopMonit...
    99+
    2023-06-08
  • windows屏幕分辨率调不了如何解决
    本篇内容主要讲解“windows屏幕分辨率调不了如何解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“windows屏幕分辨率调不了如何解决”吧!屏幕分辨率怎么调不了检查屏幕是否正常,如有HDM...
    99+
    2023-07-01
  • Android开发中中常见的屏幕分辨率有哪些
    Android开发中中常见的屏幕分辨率有哪些?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Android 屏幕分辨率的整理这些术语都是指屏幕的分辨率。VGA:Video Gra...
    99+
    2023-05-31
    android 中常 roi
  • 怎么用Java和Jquery获取屏幕分辨率
    这篇文章主要介绍“怎么用Java和Jquery获取屏幕分辨率”,在日常操作中,相信很多人在怎么用Java和Jquery获取屏幕分辨率问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Java和Jquery获...
    99+
    2023-06-02
  • 电脑屏幕分辨率调高了黑屏如何解决
    本文小编为大家详细介绍“电脑屏幕分辨率调高了黑屏如何解决”,内容详细,步骤清晰,细节处理妥当,希望这篇“电脑屏幕分辨率调高了黑屏如何解决”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。屏幕分辨率调高了黑屏解决方法开...
    99+
    2023-07-01
  • Ubuntu屏幕分辨率不能设置怎么解决
    这篇文章主要介绍“Ubuntu屏幕分辨率不能设置怎么解决”,在日常操作中,相信很多人在Ubuntu屏幕分辨率不能设置怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Ubuntu屏幕分辨率不能设置怎么解决...
    99+
    2023-07-04
  • vue项目适配屏幕分辨率与屏幕的缩放适配详细教程
    目录解决方案全局导入App.vue刷新页面笔记本或者显示器 默认设置125%或者150%缩放,导致布局错乱的解决方法 现在很多14寸的笔记本,出厂默认就是150%的显示。导致很多时候...
    99+
    2022-11-13
    vue 屏幕分辨率 vue 适配屏幕分辨率 vue适配屏幕的缩放 vue适配屏幕
  • win10电脑屏幕分辨率调不了如何解决
    这篇文章主要介绍“win10电脑屏幕分辨率调不了如何解决”,在日常操作中,相信很多人在win10电脑屏幕分辨率调不了如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”win10电脑屏幕分辨率调不了如何解决...
    99+
    2023-07-01
  • 虚拟主机的屏幕分辨率低怎么解决
    如果虚拟主机的屏幕分辨率低,可以尝试以下解决方法:1. 调整虚拟主机的屏幕分辨率:在虚拟主机的操作系统设置中,尝试调整屏幕分辨率到更...
    99+
    2023-08-23
    虚拟主机
  • android自动工具类TextUtils使用详解
    今天,简单讲讲如何使用android自动的工具类TextUtils。简单列举部分用法:Log.d(TAG, "---------------------------------"); //字符串拼接 Log.d(TAG, TextU...
    99+
    2023-05-30
    android 工具类 textutils
  • Android 开发中获取屏幕宽高(分辨率)的几种方式
    Android 开发中获取屏幕宽高(分辨率)的几种方式 获得手机屏幕的宽高 :(方式一) 获取WindowManager有两种方式:1: WindowManager wm = this.getSyst...
    99+
    2023-09-08
    android
  • Linux如何使用命令行工具增加VirtualBox分辨率
    本篇文章给大家分享的是有关Linux如何使用命令行工具增加VirtualBox分辨率,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  VirtualBox是款虚拟机,适用于Li...
    99+
    2023-06-13
  • Hutool工具类使用详解
    当今,Java开发者需要处理各种各样的任务,这包括但不限于:日期操作、加密算法、文件操作、Excel数据处理、网络请求等等。而在处理这些任务时,为了提高效率、降低开发难度和复杂度,我们需要借助一些工具类库。Hutool是一个Java工具类库...
    99+
    2023-08-25
    java 开发语言
  • Android 使用adb修改手机分辨率、dpi
    为了适配不同尺寸屏幕的手机,最简单的方式就是通过adb修改分辨率和dpi adb安装 Android Studio 安装adb(Android Debug Bridge) adb官网下载 https:...
    99+
    2023-09-06
    adb 分辨率 dpi
  • Mac电脑录屏导出黑边如何解决?SwitchResX屏幕分辨率修改技巧
    Mac电脑录制屏幕视频时两边有黑边,无论是将录制格式设置为1080p还是默认分辨率,最终生成的视频两边都有黑边,遇到这种情况如何解决呢?原因是 mac 录制出的视频分辨率比例是 16:10 ,比需要的 16...
    99+
    2024-04-02
  • Android DialogUtils弹出窗工具类详解
    本文实例为大家分享了Android DialogUtils弹出窗工具类的具体代码,供大家参考,具体内容如下 直接上代码吧!!! 代码拉过去都可以自行修改,上一部分效果图 可控制显示位...
    99+
    2024-04-02
  • 如何解决VirtualBox中Ubuntu 14.04屏幕分辨率不能设置的问题
    这篇文章主要介绍了如何解决VirtualBox中Ubuntu 14.04屏幕分辨率不能设置的问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在VirtualBOx虚拟机中U...
    99+
    2023-06-09
  • Vue指令实现大屏元素分辨率适配详解
    目录前言1. 常见的适配方案2. CSS3 缩放方案3. 封装一个缩放指令4. 后记前言 随着前端技术的不断发展、数据中心(中台)之类的概念的不断升级、物联网设备的更新和普及,越来越...
    99+
    2024-04-02
  • Android开发中4个常用的工具类【Toast、SharedPreferences、网络及屏幕操作】
    本文实例讲述了Android开发中4个常用的工具类。分享给大家供大家参考,具体如下:1、土司工具类(Toast管理)public class ToastUtil { private ToastUtil() { throw n...
    99+
    2023-05-30
    android 工具类 toast
  • 详解Spring中BeanUtils工具类的使用
    目录简介Spring的BeanUtils方法Spring的BeanUtils与Apache的BeanUtils区别实例简介 说明 本文介绍Spring的BeanUtils工具类的用法...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作