Android mdpi(1/160),hdpi(1.5/240),xhdpi(2/320),xxhdpi(3/480) 屏幕适配 , 如何知道手机是hdpi,xhdpi,还是xxhdpi

ios/andoird

图片大小AndroidiOSdensitydensityDpi换算
75%ldpi0.75x0.75(=120/160)1201dp = 0.75px
100%mdpi1x1(=160/160)1601dp = 1px
150%hdpi1.5x1.5(=240/160)2401dp = 1.5px
200%xhdpi2x2(=320/160)3201dp = 2px
300%xxhdpi3x3(=480/160)4801dp = 3px
400%xxxhdpi4x4(=640/160)6401dp = 4px

在这里插入图片描述

方式一:

//Android hdpi,xhdpi,xxhdpi 屏幕适配 , 如何知道手机是hdpi,xhdpi,还是xxhdpi
//#######################################################################
//方式一:
//#######################################################################
float density = getResources().getDisplayMetrics().density;
Log.e(TAG, "\n\ndensity============================>" + density);//2.0
if (density == 0.75) {
    Log.e(TAG, "density 120dpi : 1dp = 0.75px===============用ldpi");
} else if (density == 1.0) {
    Log.e(TAG, "density 默认160dpi : 1dp = 1px===============用mdpi");
} else if (density == 1.5) {
    Log.e(TAG, "density 240dpi : 1dp = 1.5px===============用hdpi");
} else if (density == 2.0) {
    Log.e(TAG, "density 320dpi : 1dp = 2px===============用xhdpi");
} else if (density == 3.0) {
    Log.e(TAG, "density 480dpi : 1dp = 3px===============用xxhdpi");
} else if (density == 4.0) {
    Log.e(TAG, "density 640dpi : 1dp = 4px===============用xxxhdpi");
}

方式二:

//#######################################################################
//方式二:
//#######################################################################
int densityDpi = getResources().getDisplayMetrics().densityDpi;
Log.e(TAG, "\n\ndensityDpi============================>" + densityDpi);//320
switch (densityDpi) {
    case DisplayMetrics.DENSITY_LOW:
        Log.e(TAG, "densityDpi 120dpi : 1dp = 0.75px===============用ldpi");
        break;
    case DisplayMetrics.DENSITY_MEDIUM:
        Log.e(TAG, "densityDpi 默认160dpi : 1dp = 1px===============用mdpi");
        break;
    case DisplayMetrics.DENSITY_HIGH:
        Log.e(TAG, "densityDpi 240dpi : 1dp = 1.5px===============用hdpi");
        break;
    case DisplayMetrics.DENSITY_XHIGH:
        Log.e(TAG, "densityDpi 320dpi : 1dp = 2px===============用xhdpi");
        break;
    case DisplayMetrics.DENSITY_XXHIGH:
        Log.e(TAG, "densityDpi 480dpi : 1dp = 3px===============用xxhdpi");
        break;
    case DisplayMetrics.DENSITY_XXXHIGH:
        Log.e(TAG, "densityDpi 640dpi : 1dp = 4px===============用xxxhdpi");
        break;
}

方式三 :

> adb shell wm density
Physical density: 320

获取的值再除以160= 2.0

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值