android drawable目录

https://blog.csdn.net/guolin_blog/article/details/50727753

 

https://blog.csdn.net/zhaokaiqiang1992/article/details/49787117

 

基本概念:

1. px: 分辨率单位像素

        平常所说的1920×1080只是像素数量,也就是1920px × 1080px,代表手机高度上有1920个像素点,宽度上有1080个像素点。

2. dpi: 像素密度单位,表示1英寸上有多少个像素     px/inc

         160dpi表示1英寸上有160个像素    160dpi = 160px/inc

         240dpi表示1英寸上有240个像素     240dpi = 240px/inc

       设备dpi越高,即1英寸含有的像素点越多,显示效果越好

2.dp:在定义 UI 布局时应使用的虚拟像素单位,用于以密度无关方式表示布局维度 或位置

 

在android api中

1.densityDpi:这个对应dpi(像素密度单位)     单位: px /inc

2.density:显示的逻辑密度,这是密度独立像素单位 ,表示1个虚拟像素对应多少个屏幕像素px  

             即1dp 对应 几个px     ---------  单位: px /dp

 3.虚拟像素单位: 官方规定 1英寸有160个虚拟像素    160dp/inc

下面推导px和dp之间的关系

  假设 像素密度densityDpi  = 240(1英寸含有240个像素, 即240px/inc ),

因为官方规定 1英寸有160个虚拟像素 ( 160dp/inc ),

所以1英寸中,160dp对应240px(即 1dp = 1.5px),即 density = 240px/160dp  = 1.5 px /dp

所以 density = densityDpi / 160 px/dp   --- 1dp 对应 density个屏幕像素px

所以  1dp = density 个 px

        3dp = 3 * density  个px 

       a个dp   = a* density 个px   = a * densityDpi / 160  个px  --------这就是dp 和px 之间的关系

--------------------------------------------------------------------

当 densityDpi = 160

1英寸中,160dp对应160px(即 1dp = 1px),即dp 和px等价

 

将分辨率转换成虚拟像素表示

1.   dip = 160  ,  320 x 480 px  转换成dp 表示

     首先计算出 density = 160 / 160 px/dp ,  1dp 对应1个px

    设 320px 对应 a 个dp  , 所以 a =  320 /dendity  = 320 dp

   同理得高 480dp

 所以 在dip = 160, 320 x 480 px 转换成dp 表示  320dp x 480dp

 

1.   dip = 240  ,  320 x 480 px  转换成dp 表示

     首先计算出 density = 240 / 160 px/dp ,  1dp 对应1.5个px

    设 320px 对应 a 个dp  , 所以 a =  320 /dendity  = 233dp

   同理得高 320dp

 所以 在dip = 240, 320 x 480 px 转换成dp 表示  233dp x 320dp

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值