有一种非常简洁的方法可以在没有上下文的情况下将 dp 转换为 px,它是这样的:
public static int dpToPx(int dp) {
float density = Resources.getSystem().getDisplayMetrics().density;
return Math.round((float) dp * density);
}
在Google GitHub 页面上的每个 Google 示例中,他们都使用以下方法:
public static int convertDpToPixel(Context ctx, int dp) {
float density = ctx.getResources().getDisplayMetrics().density;
return Math.round((float) dp * density);
}
那么第一种方法有问题吗?对我来说,它在我所有的应用程序中都可以正常工作,但我想知道在某些情况下它可能会失败吗?