识别不同屏幕中的dp大小

时间:2015-07-21 23:05:43

标签: android screen android-custom-view screen-resolution

如果Custom View中的500w*600h大小dppx个屏幕中的(1152w*720h)px保持一致,那么dp中的视图大小将是多少在px屏幕的屏幕上{1}}和(480w*600h)px。以及如何计算不同大小的View。

2 个答案:

答案 0 :(得分:0)

dp / px比率基于设备屏幕的密度。

我建议您阅读有关该主题的Android文档。

http://developer.android.com/guide/practices/screens_support.html

每种屏幕密度分类都有一个特定的px乘数,即mdpi = px * 1和hdpi = px * 1.5

这是一个很好的小计算器,可以帮助你理解它:

http://labs.rampinteractive.co.uk/android_dp_px_calculator/

答案 1 :(得分:0)

假设您在dp中指定了视图大小(与dip相同),您可以使用获取DisplayMetrics的实例将dp转换为当前设备的实际像素。

您可以添加到实用程序类进行转换的便捷功能:

private static float dipToPixels(Context context, int dip)
{
    DisplayMetrics metrics = context.getResources().getDisplayMetrics();
    return TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, dip, metrics);
}