Android多分辨率适配(dp、px、sp互转),图片分辨率对应手机分辨率

> 手机 主流的屏幕分辨率 Android
Android手机目前常见的分辨率- http://blog.csdn.net/angle41/article/details/52116966
iOS屏幕尺寸和分辨率了解- http://blog.csdn.net/gu_jin_xiao/article/details/50374763

-- 目前最主流的手机屏幕是5.5寸,分辨率1920x1080,不过现在小屏手机也开始流了,小屏手机主要指5寸屏幕,1920x1080分辨率。
480*800,1280×720,1920×1080;
VGA  640×480  当年的iphone3;
WVGA  800×480  当前的低端安卓机;
1280×800   三星的note1note2;
WXGA 1280×768   这两个是当前安卓机中低端常用的分辨率,也就是720P;
1920×1080这个就是1080p的安卓机主流屏幕分辨率;
而有一些高端的安卓机,用2K的分辨率分辨率会更高;
宽 * 高 = {480 * 800 576 * 1024  720 * 1280 900 * 1440  900 * 1600 1080 * 1920};
注:取自最新版本夜神和腾讯手游模拟器。

> 图片分辨率对应手机分辨率

— 添加图片报错Error:Java.util.concurrent.ExecutionException: com.Android.ide.common.process.ProcessException:

在gradle的android{ ... } 中加入这两句就可以了

android { 

aaptOptions.cruncherEnabled = false 

aaptOptions.useNewCruncher = false 

}  

手机App图片的分辨率对应手机分辨率

ldpi:240x320

mdpi:320x480

hdpi:480x800、480x854 ,640-360

xhdpi:至少960*720 ,1280-720

xxhdpi:1280×720 ,1920-1080

-dpi范围 密度 手机分辨率

0dpi ~ 120dpi ldpi 240 x 320

120dpi ~ 160dpi mdpi 320 x 480

160dpi ~ 240dpi hdpi 480 x 800

240dpi ~ 320dpi xhdpi 720 x 1280

320dpi ~ 480dpi xxhdpi 1080 x 1920

480dpi ~ 640dpi xxxhdpi 2560x1440

— App Logo尺寸:

密度

建议尺寸

mipmap-mdpi

48*48

mipmap-hdpi

72*72

mipmap-xhdpi

96*96

mipmap-xxhdpi

144*144

mipmap-xxxhdpi

192*192

> 多分辨率适配,适配手机和平板
 适配手机和平板的实现?? 巧用Fragment, 适配手机和平板两种屏幕??
Android手机平板两不误,使用Fragment实现兼容手机和平板的程序- http://blog.csdn.net/guolin_blog/article/details/8744943
使用Fragment适配平板与手机- http://www.jianshu.com/p/b1497e95fc65#
Android屏幕适配全攻略(最权威的官方适配指导)- http://blog.csdn.net/jdsjlzx/article/details/45891551
Android多分辨率适配框架 ( 1 )-- http://blog.csdn.net/lfdfhl/article/details/52735103
Android多分辨率适配框架 ( 2 )-- http://blog.csdn.net/lfdfhl/article/details/52877866
Android多分辨率适配框架使用指南-- http://blog.csdn.net/lfdfhl/article/details/53046113

Android屏幕适配- http://blog.csdn.net/q4878802/article/details/50352418

-- 对于该框架的理解和使用,有以下几个要点:
 1.切图存放于drawable-nodpi;
 2.抛开系统的dpi并且摒弃dp和sp,统一使用px作为尺寸单位;
 3.按照高分辨率(如1920*1080)切图和布局;
 4.在代码中等比例缩放每个View;
 
  目前,xxhdpi分辨率的手机占了主流,所以在该框架中采用了drawable-xxhdpi的切图。倘若以后xxxhdpi分辨率的手机占了主导地位,那么就请UI设计师按照该
分辨率切图,我们将其放在drawable-xxxhdpi中,再修改BASE_SCREEN_WIDTH_FLOAT即可。

> dp和sp均与设备的dpi有关
  在布局的过程中,请注意一个问题:不再使用dp、sp作为大小单位,而是统一使用px。为什么要这么做呢?
  缩放比例的确定是基于屏幕的分辨率而确定的。 屏幕的分辨率均是采用px作为单位的,所以在布局时亦采用px从而保证缩放比例的一致和准确。
  不同设备的dpi值不一样,所以在不同的设备上同一个dp和sp所对应的px值是不尽相同的。如果采用dp和sp作为尺寸的单位,那么在缩放时会产生较大的偏差.
-- Android开发之单位转换,dp、px、sp
/**
     * dp转px
     * @param dp
     * @return
     */
    public static int dip2px(int dp)
    {
        float density = getContext().getResources().getDisplayMetrics().density;
        return (int) (dp*density+0.5);
    }
 
    /** px转换dip */
    public static int px2dip(int px) {
        final float scale = getContext().getResources().getDisplayMetrics().density;
        return (int) (px / scale + 0.5f);
    }
    /** px转换sp */
    public static int px2sp(int pxValue) {
        final float fontScale = getContext().getResources().getDisplayMetrics().scaledDensity;
        return (int) (pxValue / fontScale + 0.5f);
    }
    /** sp转换px */
    public static int sp2px(int spValue) {
        final float fontScale = getContext().getResources().getDisplayMetrics().scaledDensity;
        return (int) (spValue * fontScale + 0.5f);
    } 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值