DensityUtil 分辨率工具类

  1. package extra.util;
  2. import android.content.Context;
  3. import android.util.DisplayMetrics;
  4. import android.util.TypedValue;
  5. public class DensityUtil {
  6. /**
  7. * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
  8. */
  9. public static int dip2px(Context context, float dpValue) {
  10. final float scale = context.getResources().getDisplayMetrics().density;
  11. return (int) (dpValue * scale + 0.5f);
  12. }
  13. /**
  14. * 根据手机的分辨率从 px(像素) 的单位 转成为 dp
  15. */
  16. public static int px2dip(Context context, float pxValue) {
  17. final float scale = context.getResources().getDisplayMetrics().density;
  18. return (int) (pxValue / scale + 0.5f);
  19. }
  20. private static float getPixelScaleFactor(Context context) {
  21. DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
  22. return (displayMetrics.xdpi / DisplayMetrics.DENSITY_DEFAULT);
  23. }
  24. private DensityUtil()
  25. {
  26. /* cannot be instantiated */
  27. throw new UnsupportedOperationException("cannot be instantiated");
  28. }
  29. /**
  30. * dp转px
  31. *
  32. * @param context
  33. * @param val
  34. * @return
  35. */
  36. public static int dp2px(Context context, float dpVal)
  37. {
  38. return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
  39. dpVal, context.getResources().getDisplayMetrics());
  40. }
  41. /**
  42. * sp转px
  43. *
  44. * @param context
  45. * @param val
  46. * @return
  47. */
  48. public static int sp2px(Context context, float spVal)
  49. {
  50. return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
  51. spVal, context.getResources().getDisplayMetrics());
  52. }
  53. /**
  54. * px转dp
  55. *
  56. * @param context
  57. * @param pxVal
  58. * @return
  59. */
  60. public static float px2dp(Context context, float pxVal)
  61. {
  62. final float scale = context.getResources().getDisplayMetrics().density;
  63. LogUtil.e("density=" + scale);
  64. return (pxVal / scale);
  65. }
  66. /**
  67. * px转sp
  68. *
  69. * @param fontScale
  70. * @param pxVal
  71. * @return
  72. */
  73. public static float px2sp(Context context, float pxVal)
  74. {
  75. return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
  76. }
  77. }

来自为知笔记(Wiz)

时间: 2024-08-24 15:41:58

DensityUtil 分辨率工具类的相关文章

安卓开发技巧四:手机分辨率处理工具类

/** * * @Description:手机分辨率处理工具类 * @author: * @see: * @since: * @copyright © * @Date:2014年8月13日 */ public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.g

Android|Java 开发常用工具类

如题 该文章展示的是我开发过程中使用的部分常用工具类方法,不定期更新. 欢迎各位大牛批评指教,如有发现错误,欢迎留言指教,如有更好的实现方式,也欢迎留言交流学习,谢谢. 一.手机号 座机号.邮箱格式匹配工具类 package com.kevin.test.utils; /** * 字符串格式匹配工具类 匹配手机号.座机号.邮箱等 * * @author blj * */ public class FormatCheckUtils { /** * 判断是否符合邮箱格式 */ public stat

【Android 工具类】经常使用工具类(方法)大全

收集经常使用的工具类或者方法: 1.获取手机分辨率 /** * 获取手机分辨率 */ public static String getDisplayMetrix(Context context) { if (Constant.Screen.SCREEN_WIDTH == 0 || Constant.Screen.SCREEN_HEIGHT == 0) { if (context != null) { int width = 0; int height = 0; SharedPreferences

Android单位转换 (px、dp、sp之间的转换工具类)

在Android开发中,涉及到屏幕视频问题的时候,px.dp.sp之间的转换比较重要的一部分,所以杨哥整理了一个工具类给大伙用. package com.zw.express.tool; import android.content.Context;import android.util.DisplayMetrics;/** * ydc * @author Administrator * */public class DensityUtils { /**     * 根据手机的分辨率从 dip

Android设备网络、屏幕尺寸、SD卡、本地IP、存储空间等信息获取工具类

Android设备网络.屏幕尺寸.SD卡.本地IP.存储空间.服务.进程.应用包名等信息获取的整合工具类. 1 package com.qiyu.ddb.util; 2 3 import android.annotation.SuppressLint; 4 import android.annotation.TargetApi; 5 import android.app.Activity; 6 import android.app.ActivityManager; 7 import androi

实用工具类--第三方开源--Lazy

下载地址 :https://github.com/ddwhan0123/Lazy 工具 描述 AnimationUtils 动画工具类 AppUtils APP相关信息工具类 AssetDatabaseOpenHelper 目录资源获取 Base64 加密 BitmapUtil 获取Bitmap和对Bitmap的操作 ChannelUtil 获取市场号 Colors 颜色工具类 包括常用的色值 DES DES加密解密类 DataCleanManager 本应用数据清除管理器 DatabaseEx

多媒体编程——ios摄像头图像抓取工具类

工具类提供预览图像画面,自动处理旋转,并且以主动方式抓取图像(这样帧率可以无限大) 系统的接口多是异步接收图像,像我这种强迫症怎么受得了,必须吧被动接收图像的方式改成主动抓取. 头文件 #import <Foundation/Foundation.h> #import <AVFoundation/AVFoundation.h> //这些比例都是4:3的比例. typedef enum TKVideoFrameSize { tkVideoFrame480x360 = 480 <

史上最全的开发工具类

    API 银行卡管理 → BankCheck checkBankCard : 校验银行卡卡号是否合法 getBankCardCheckCode: 从不含校验位的银行卡卡号采用 Luhm 校验算法获得校验位 getNameOfBank : 通过银行卡的前六位确定判断银行开户行及卡种 SharePreference缓存数据 →AppSharePreferenceMgr put : 保存数据的方法 get : 获取数据的方法 putImage: 保存图片到SharedPreferences ge

【Android 工具类】常用工具类(方法)大全

收集常用的工具类或者方法: 1.获取手机分辨率 /** * 获取手机分辨率 */ public static String getDisplayMetrix(Context context) { if (Constant.Screen.SCREEN_WIDTH == 0 || Constant.Screen.SCREEN_HEIGHT == 0) { if (context != null) { int width = 0; int height = 0; SharedPreferences D