Android 适配

屏幕尺寸指手机对角线长度,screenHeight和screenWidth值手机的分辨率

dpi(密度) = ppi = (√(screenHeight^2 + screenWidth^2)) / 屏幕尺寸

desity(比例) = dpi / 160

px(像素) = dp(设备无关像素) × desity

px = inch × dpi


手机高度一般会受虚拟键等的影响,但宽度是一定的,以宽度为标准,常见的适配一般分为俩种。

(一)分辨率相同,宽度不同


(二)分辨率不同,宽度相同






分辨率相同尺寸不同的设备,可以通过sw392dp-nodpi限定词适配资源

getResources().getConfiguration().smallestScreenWidthDp获取设备最小屏幕宽度,本文为392

<span style="font-size:18px;">DisplayMetrics metrics = new DisplayMetrics();
        Point point = new Point();
        getWindowManager().getDefaultDisplay().getMetrics(metrics);
        getWindowManager().getDefaultDisplay().getRealSize(point);
        
        String contant = "type:" + android.os.Build.MODEL
                + "\ndpi: " + String.valueOf(metrics.densityDpi)
                + "\ndesity: " + metrics.density
                + "\nheightPixels: " + metrics.heightPixels + "\nwidthPixels: " + metrics.widthPixels
                + "\nsmallestScreenWidth: " + getResources().getConfiguration().smallestScreenWidthDp
                + "\nscreenInches:" + Math.sqrt(Math.pow(point.x / metrics.xdpi, 2) + Math
                        .pow(point.y / metrics.ydpi, 2));</span>

sw392dp-nodpi:不缩放,保留图片的原始大小

sw392dp-xhdpi:缩放为 自身的dpi/320

sw392dp-400dpi:缩放为 自身的dpi/400


dpi范围 密度
0dpi ~ 120dpi ldpi
120dpi ~ 160dpi mdpi
160dpi ~ 240dpi hdpi
240dpi ~ 320dpi xhdpi
320dpi ~ 480dpi xxhdpi
480dpi ~ 640dpi

xxxhdpi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值