拿图片资源举例
drawable-ldpi (dpi=120, density=0.75)
drawable-mdpi (dpi=160, density=1)
drawable-hdpi (dpi=240, density=1.5)
drawable-xhdpi (dpi=320, density=2)
drawable-xxhdpi (dpi=480, density=3)
android studio中一般是放在mipmap下
系统会根据实际屏幕的像素密度去匹配最接近的资源
另外,dimens文件夹也可以根据像素密度来创建 也可以定义分辨率来创建,比如values-1080x1920(用字幕x表示乘)
dpi=屏幕斜对角上像素点/屏幕尺寸 意思即是每英寸上有多少个像素点 如果在dpi=160的屏幕上1dp=1px,在320dpi的屏幕上 1dp=2px;以此类推。
另外 关于SP单位的解释需要注意下 以下是查的别人写的 重点就一句话sp根本就是和系统字体大小有关的单位,系统字体设置大了 sp单位的字体会跟着变大 而用dp来设置字体大小的字则不会变。
sp
Scale-independent Pixels - This is like the dp unit, but it is also scaled by the user's font size preference. It is recommend you use this unit when specifying font sizes, so they will be adjusted for both the screen density and the user's preference.以中文的逻辑,与缩放无关,问题是缩放指的是什么?无关的意思是,不管参照物有多大,我都是按照没有缩放的情况下一样.
但是....事实恰好相反,反而与缩放有关.参照物是什么呢?原来android系统是可以设置字体大小的,参照物就是设置的字体大小.然而,系统字体放大了一倍,那么,如果使用sp为单位的字就会放大一倍显示,如果以dp为单位的字体就不会放大.所以说,sp根本就是和系统字体大小有关的单位!!! 之前我的理解刚好相反啊!!!
使用上也是需要注意的:比如一个按钮,大小为24dp,字体应该也用dp做单位,如果以sp,字体设置大了,就会撑出按钮,从而有一部分不会显示