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;
}
}
}

更多相关文章

  1. android 的单例模式
  2. [Android]判断Context是不是Activity
  3. Android(安卓)AsyncTask实例
  4. Android笔记 SystemUI
  5. Android两种计步器sensor
  6. android 给图片加水印
  7. android 开发实例底部导航(1)
  8. Android(安卓)中文字符转UTF-8编码
  9. 【android-tips】android程序执行adb shell命令(实例源码)

随机推荐

  1. Android默认时区、语言设置
  2. 设置Android铃声代码例子
  3. Android实现圆形头像-使用自定义控件
  4. Android组件学习笔记(连接互联网)
  5. Android 中 EditText 的 inputType 属性
  6. android中取消ActionBar的两种方式
  7. android仿今日头条个人中心页面
  8. XML-SHAPE
  9. android 图表引擎
  10. android studio 常见问题