package com.simplecity.amp_library.utils; import android.content.res.Resources; import android.util.DisplayMetrics; import com.simplecity.amp_library.ShuttleApplication; import com.simplecity.amp_library.glide.utils.Size; public class ResourceUtils { /** * 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 * @return A float value to represent px equivalent to dp depending on device density */ public static int toPixels(float dp) { Resources resources = ShuttleApplication.getInstance().getResources(); DisplayMetrics metrics = resources.getDisplayMetrics(); return (int) (dp * (metrics.densityDpi / 160f)); } /** * 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 * @return A float value to represent dp equivalent to px value */ public static float toDips(float px) { Resources resources = ShuttleApplication.getInstance().getResources(); DisplayMetrics metrics = resources.getDisplayMetrics(); return px / (metrics.densityDpi / 160f); } public static Size getScreenSize() { return new Size(Resources.getSystem().getDisplayMetrics().widthPixels, Resources.getSystem().getDisplayMetrics().heightPixels); } }