package com.huhx0015.gw2at.utils;
import android.content.Context;
import android.content.res.Resources;
import android.util.DisplayMetrics;
/**
* Created by Michael Yoon Huh on 2/1/2017.
*
* Source: http://stackoverflow.com/questions/4605527/converting-pixels-to-dp
*/
public class DisplayUtils {
/**
* convertDpToPixel(): This method converts dp unit to equivalent pixels, depending on device density.
*
* @param dp A value in dp (density independent pixels) unit. Which we need to convert into pixels
* @param context Context to get resources and device specific display metrics
* @return A float value to represent px equivalent to dp depending on device density
*/
public static float convertDpToPixel(float dp, Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
return dp * ((float)metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT);
}
/**
* convertPixelsToDp(): This method converts device specific pixels to density independent pixels.
*
* @param px A value in px (pixels) unit. Which we need to convert into db
* @param context Context to get resources and device specific display metrics
* @return A float value to represent dp equivalent to px value
*/
public static float convertPixelsToDp(float px, Context context){
Resources resources = context.getResources();
DisplayMetrics metrics = resources.getDisplayMetrics();
return px / ((float)metrics.densityDpi / DisplayMetrics.DENSITY_DEFAULT);
}
/**
* getOrientation(): Retrieves the device's current orientation.
*
* Configuration.ORIENTATION_PORTRAIT
* Configuration.ORIENTATION_LANDSCAPE
* @param context
* @return
*/
public static int getOrientation(Context context) {
return context.getResources().getConfiguration().orientation;
}
}