package com.guangzhou.haochuan.jxtv.util; import android.content.Context; import android.graphics.Point; import android.util.DisplayMetrics; import android.view.Display; import android.view.WindowManager; /** * Created by yunhaipiaodi on 2017/9/27. */ public class ScreenUtil { private Context mContext; private Display display; private static ScreenUtil instance; public static ScreenUtil getInstance(){ if(instance == null){ instance = new ScreenUtil(); } return instance; } public int getScreenWidth(Context context){ WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); display = wm.getDefaultDisplay(); Point size = new Point(); display.getSize(size); int width = size.x; return width; } public int getScreenHeight(Context context){ WindowManager wm = (WindowManager) context .getSystemService(Context.WINDOW_SERVICE); display = wm.getDefaultDisplay(); Point size = new Point(); display.getSize(size); int height = size.y; return height; } public String getDpiType(Context context){ DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics(); int densityDpi = displayMetrics.densityDpi; String dpiType = ""; switch (densityDpi){ case 120: dpiType = "ldpi"; break; case 160: int screenWidth = getScreenWidth(context); int screenHeight = getScreenHeight(context); if(screenWidth == 1280 && screenHeight == 720){ dpiType = "xhdpi"; }else if(screenWidth == 1920 && screenHeight == 1080){ dpiType = "xxhdpi"; }else{ dpiType = "mdpi"; } break; case 240: dpiType = "hdpi"; break; case 320: dpiType = "xhdpi"; break; case 480: dpiType = "xxhdpi"; break; default: dpiType = "xxhdpi"; break; } return dpiType; } }