package com.vinvo.android.games.limitlessDiamonds.utils;
import android.content.Context;
import android.util.DisplayMetrics;
public class DensityManager {
/**
* SoundManger的实例对象
*/
static private DensityManager densityInstance;
// 当前屏幕的density因子
private static float dmDensityDpi = 0.0f;
private static DisplayMetrics dm;
private static float scale = 0.0f;
private static final float CURR_SCALE = 1.5f;
private DensityManager(){
}
/**
* 获得SoundMangaer的实例
*
* @return SoundMangaer的实例
*/
static synchronized public DensityManager getInstance() {
if (densityInstance == null)
densityInstance = new DensityManager();
return densityInstance;
}
/**
* 初始化
* @param context
*/
public static void initDensity(Context context) {
dm = new DisplayMetrics();
dm = context.getApplicationContext().getResources().getDisplayMetrics();
dmDensityDpi=dm.densityDpi;
scale = dmDensityDpi / 160;
}
/**
* 根据当前屏幕的密度转换像素值
* @param pxValue 需要转换的像素值
* @return 转换后的像素值
*/
public static int transPxValue(int pxValue){
int dipValue = (int) (pxValue / CURR_SCALE + 0.5f);
int result = (int) (dipValue * scale + 0.5f);
return result;
}
/**
* 清理实例
*/
public static void clearInstance(){
if (densityInstance != null){
densityInstance = null;
}
}
}
分享到:
相关推荐
Android单位转换工具类(ToolUnit.java),sp/dp/px互转 自定义Toast工具类(ToolToast.java),自定义背景色、字体颜色、大小、边框等 Properties操作工具类(ToolProperties.java),读写Properties文件操作 网络操作...
Android单位转换工具类(ToolUnit.java),sp/dp/px互转 自定义Toast工具类(ToolToast.java),自定义背景色、字体颜色、大小、边框等 Properties操作工具类(ToolProperties.java),读写Properties文件操作 网络操作...
Android单位转换工具类(ToolUnit.java),sp/dp/px互转 自定义Toast工具类(ToolToast.java),自定义背景色、字体颜色、大小、边框等 Properties操作工具类(ToolProperties.java),读写Properties文件操作 网络...
适用于Android,iOS,Windows和CSS的密度图像转换器工具 这是一个功能强大的小工具,可以根据的源比例因子或目标宽度/高度,帮助将单个或批量图像转换为Android , iOS , Windows和CSS特定的格式和密度版本。 它...
唯一要做的就是提供一个或多个合格的SVG文件,这些文件将在构建时为您转换为所需的位图,并组织为特定于配置的可绘制目录...每个目标屏幕密度至少一个! 您再也不会处理栅格资源了…… 该插件可以处理Android SDK...
Android单位转换工具类(ToolUnit.java),sp/dp/px互转 自定义Toast工具类(ToolToast.java),自定义背景色、字体颜色、大小、边框等 Properties操作工具类(ToolProperties.java),读写Properties文件操作 网络...
摘要:Java源码,Android源码,日历控件 一款漂亮的适用于Android平台的弹出日历控件,相当漂亮的风格,弹出日期时间选择器。Java代码里的注释挺丰富,肯定对新手学习Android应用开发有帮助,所以发上来供学习。部分...
word源码java [toc] Android Dark Theme in Action (Android深色模式实战) 背景 从Android10(API 29)开始,在原有的主题适配的基础上,Google开始提供了Force Dark机制,在系统底层直接对颜色和图片进行转换处理,...
该项目的存在是为了减少处理Android屏幕密度的烦恼。 目标是与gradle无缝集成,以从输入的SVG图像集中为每个Android屏幕密度导出栅格化图像。 (将PNG / JPEG大小自动调整为Android屏幕密度是一个长期目标,但由于...
3. 计算各定点坐标时是使用三维数组的形式生成的,较简单,但是OpenGL绘制的时候需要的是buffer形式的,生成buffer时需要的是一维数组,java中没有指针,所以需要自己写个方法把三维数组的内容转换到一维数组中,以...
Android 一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导开发 IOS 由苹果公司开发的移动操作系统 Webkit 一个开源的浏览器引擎,在手机上的...
犯罪意图2 这个仓库供我练习Android编程,以及的教程书《 。 所有荣誉归功于Big Nerd Ranch的这些家伙。 这是一本很棒的书。 == 指数 == ...Android将在运行时将这些值转换为像素 dp(与密度无关
Android Drawable Converter项目旨在通过提供一个能够自动将可绘制对象转换为其他密度版本(如ldpi,mdpi,hdpi,xhdpi)的工具来帮助您。 安装 要使用此项目,您可以在下载页面上下载“ Android Drawable ...
该引擎通过用户设定的参数如重力,密度,摩擦,弹性等参数计算碰撞,角度,力和动力等。这些计算需要大量的数学,物理等知识,如果有兴趣也可以下载其源码来研究。 Box2d同时也提供了各种语言环境的实现,由于Ophone...