package com.dl7.mvp.utils; import android.content.Context; import android.util.DisplayMetrics; import android.util.TypedValue; import android.view.View; import android.view.ViewGroup; /** * Created by Rukey7 on 2016/7/18. */ public class MeasureUtils { private MeasureUtils() { throw new AssertionError(); } public static float dp2px(Context context, float dp) { return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dp, context.getResources().getDisplayMetrics()); } public static float sp2px(Context context, float sp) { return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, sp, context.getResources().getDisplayMetrics()); } public static int getMeasuredWidthWithMargins(View child) { final ViewGroup.MarginLayoutParams lp = (ViewGroup.MarginLayoutParams) child.getLayoutParams(); return child.getMeasuredWidth() + lp.leftMargin + lp.rightMargin; } public static DisplayMetrics getDisplayMetrics(Context context) { if (context == null) { return null; } return context.getResources().getDisplayMetrics(); // activity.getWindowManager().getDefaultDisplay().getMetrics(); } public static int[] getViewLocation(View view) { int[] location = new int[2]; view.getLocationOnScreen(location); return location; } }