73 lines
2.2 KiB
Plaintext
73 lines
2.2 KiB
Plaintext
|
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; // 屏幕密度DPI(120 / 160 / 240)
|
|||
|
return densityDpi;
|
|||
|
}
|
|||
|
|
|||
|
@NonNull
|
|||
|
private DisplayMetrics getDisplayMetrics(Activity activity) {
|
|||
|
DisplayMetrics metric = new DisplayMetrics();
|
|||
|
activity.getWindowManager().getDefaultDisplay().getMetrics(metric);
|
|||
|
return metric;
|
|||
|
}
|
|||
|
}
|