There is a very neat way of converting dp to px without Context, and it goes like this:
public static int dpToPx(int dp) {
float density = Resources.getSystem().getDisplayMetrics().density;
return Math.round((float) dp * density);
}
In every Google's example on Google GitHub page they are using the following approach:
public static int convertDpToPixel(Context ctx, int dp) {
float density = ctx.getResources().getDisplayMetrics().density;
return Math.round((float) dp * density);
}
So is there something wrong with the first approach? For me it works fine in all my apps, but I want to know is there some case where it might fail?