XiMengJianYu/.svn/pristine/09/09e617347a7d99c2851529ac096a5a5ccc82eab5.svn-base
2023-04-17 17:58:44 +08:00

73 lines
2.2 KiB
Plaintext
Executable File
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.example.administrator.ximengjianyu.utils;
import android.app.Activity;
import android.content.Context;
import android.support.annotation.NonNull;
import android.util.DisplayMetrics;
/**
* Created by xukai on 2017/2/13.
*/
public class ScreenUtils {
/**
* 根据手机的分辨率从 dip 的单位 转成为 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);
}
/**
* 该方法用来获取屏幕的宽度
*/
public int getScreenWidth(Activity activity){
DisplayMetrics metric = getDisplayMetrics(activity);
int width = metric.widthPixels;
return width;
}
/**
* 该方法用来获取屏幕的高度
*/
public int getScreenHeight(Activity activity){
DisplayMetrics metric = getDisplayMetrics(activity);
int heightPixels = metric.heightPixels;
return heightPixels;
}
/**
* 用来获取屏幕的屏幕密度
* @return
*/
public float getScreenDensity(Activity activity){
DisplayMetrics metrics = getDisplayMetrics(activity);
float density = metrics.density; // 屏幕密度0.75 / 1.0 / 1.5
return density;
}
/**
* 用来获取屏幕的密度DPI
*/
public int getScreenDensityPDI(Activity activity){
DisplayMetrics metrics = getDisplayMetrics(activity);
int densityDpi = metrics.densityDpi; // 屏幕密度DPI120 / 160 / 240
return densityDpi;
}
@NonNull
private DisplayMetrics getDisplayMetrics(Activity activity) {
DisplayMetrics metric = new DisplayMetrics();
activity.getWindowManager().getDefaultDisplay().getMetrics(metric);
return metric;
}
}