Android分辨率处理工具类
发布时间:2020-12-15 00:23:44 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context,float dpValue) { f
以下代码由PHP站长网 52php.cn收集自互联网 现在PHP站长网小编把它分享给大家,仅供参考 public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context,float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dip(Context context,float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } /** * 将px值转换为sp值,保证文字大小不变 * * @param pxValue * @param fontScale(DisplayMetrics类中属性scaledDensity) * @return */ public static int px2sp(float pxValue,float fontScale) { return (int) (pxValue / fontScale + 0.5f); } /** * 将sp值转换为px值,保证文字大小不变 * * @param spValue * @param fontScale(DisplayMetrics类中属性scaledDensity) * @return */ public static int sp2px(float spValue,float fontScale) { return (int) (spValue * fontScale + 0.5f); } /** * 获得屏幕密度 * @param context * @return */ public static int getScreenDensityDpi(Activity context) { DisplayMetrics metric = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(metric); int density = metric.densityDpi; CLog.d("DensityUtil density=",density+""); return density; } /** * 获得屏幕高度 * @param context * @return */ public static int getScreenHeight(Activity context) { DisplayMetrics metric = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(metric); int screenHeight = metric.heightPixels; CLog.d("DensityUtil screenHight=",screenHeight+""); return screenHeight; } /** * 获得屏幕宽度 * @param context * @return */ public static int getScreenWidth(Activity context) { DisplayMetrics metric = new DisplayMetrics(); context.getWindowManager().getDefaultDisplay().getMetrics(metric); int screenWidth = metric.widthPixels; CLog.d("DensityUtil screenWidth=",screenWidth+""); return screenWidth; } /** * 返回状态栏/通知栏的高度 * * @param activity * @return */ public static int getStatusHeight(Activity activity) { Rect frame = new Rect(); activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(frame); int statusBarHeight = frame.top; return statusBarHeight; } } 以上内容由PHP站长网【52php.cn】收集整理供大家参考研究 如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Java实现输出回环数(螺旋矩阵)的方法示例
- java – 如何在可执行jar和Eclipse中引用属性文件?
- 使用java语言实现一个动态数组(详解)(数据结构)
- 是否有正在开发的Prefuse的Java替代品?
- java – PowerMock从@RunWith(PowerMockRunner.class)注释
- java – 使用opencsv将CSV写入String而不创建实际文件或临时
- HDU 1231 最大连续子序列 (动态规划)
- java – 从数组中打印元素,除了最后一个单词之外的元素之间
- 在javax.xml.bind中创建一个通用集合
- JSP PageContext.getServletContext()方法——返回ServletC