031519
031519
4月前 · 3 人阅读

这些常识性的东西呢,都是我在开发指出遇到的,以及后来在开发中个人慢慢理解,今天来做个总结,如有错误,还望指出,相互学习。


问题一:dp,px ,sp,dip的区别

sp:android 开发中通常表示字体大小。

dip:设备独立像素,不同设备有不同的显示效果,与屏幕密度有关,而屏幕密度又和设备硬件有关,在某种条件下 ,比如屏幕密度为160,那么1dip = 1px。那如果你的屏幕密度不变而屏幕分辨率变大,就会出现图像变小。

注:屏幕密度:在屏幕密度中,HVGA屏的密度为160,QVGA屏的密度为120,WVGA屏的密度为240,WQVGA屏的密度为120。其中密度值表示每英寸有多少个显示点和屏幕分辨率是两个概念。HVGA,WVGA这些都是影像画质的标准。

dip与px的换算: dip(value)=(int) (px(value)/1.5 + 0.5)

dp:和dip是一样的。

px:我们通常说的手机分辨率比如小米4 是 1920 x 1080 那单位就是px,如果你把手机屏幕放大到一定程度,会看到密密麻麻的小正方形格子,竖列有1920个横列有1080个,这个单位是绝对的,不同的设备不同的显示屏显示效果是相同的.

补充:屏幕尺寸也就是手机大小,如苹果iPhone6 Plus 配备5.5 英寸屏幕.

当然dp和px也是有换算关系的:

如下图,注:此图是之前查看别人的博客时截取的,已忘记出处,还望见谅。


问题二:Drawable和Drawable-dip 和 mipmap-dpi关系与区别?

Drawable和Drawable-dip区别?

刚开始用eclipse开发anroid的时候只有Drawable文件和Drawable-dip文件,

Drawable文件是用来存放.xml文件的如:背景选择器 <Select></Select>,<Shape></Shape>等文件。

Drawable-ldpi和Drawable-mdip等是用来存放图片资源的。


drawable-dip和mipmap-dpi区别?

在之后转为Studio开发之后才出现了mipmap-dpi文件夹,其实mipmap文件夹和drawable文件夹一样都可以放图片资源。但习惯上,大部分程序员在开发的时候选择,在mipmap中存放应用图标,手动创建drawable-mipmap文件夹存放不同密度的照片。

 drawable-dip和mipmap-dpi没有本质区别。


那么如何将图片正确存放到不同的drawable 和 mipmap文件夹下呢?

ldpi: 屏幕密度为120的手机设备 

mdpi: 屏幕密度为160的手机设备(此为baseline,其他均以此为基准,在此设备上,1dp = 1px) 

hdpi: 屏幕密度为240的手机设备 

xhdpi: 屏幕密度为320的手机设备 

xxhdpi:屏幕密度为480的手机设备

如果是320x240的切图,则应该放在drawable-ldpi目录下。

如果是480x320的切图,则应该放在drawable-mdpi目录下。

如果是800x480的切图,则应该放入drawable-hdpi目录下, 

如果是1280x720的切图,则应该放在drawable-xhdpi目录下。

如果是1920x1280的切图,则应该放在drawable-xxdpi目录下。


android手机先根据当前分辨率选择最近的一个文件夹读取,比如你可以把1080P放在hdpi中,那么高分辨率手机先读hdpi这里面的,没有就找mdpi,依次类推。最后会去drawable文件夹找,但是图片不推荐放到drawable文件夹,否则很容易出现out of memory的错误。建议一一对应。

小伙伴们明白了吗?

收藏 0
drawable 屏幕 dip 密度 drawable mi
评论 ( 0 )