android drawable总结
2016-05-10 21:04
483 查看
首先要了解几个单位
px:屏幕像素
dpi: 屏幕密度,每英寸包含的像素数量(例如各种 drawable-dpi)
dp: 与屏幕密度无关,不同屏幕密度的设备上显示的大小相同
dip: 就是dp
sp: 与屏幕密度无关,字体大小
dp和px换算
将屏幕密度为160dpi的中密度设备屏幕作为基准屏幕,在这个屏幕中1dp=1px
在hdpi设备下1dp等于1.5px
在xxhdpi设备下1dp=3px
关于mipmap
用于放置icon的,那么要放多大的呢?新建一个项目,查看一下就好了。。
手机用的是哪个drawable下的图片呢?
1、先获得屏幕宽高的dpi:
float xdpi = getResources().getDisplayMetrics().xdpi;
float ydpi = getResources().getDisplayMetrics().ydpi;
2、根据dpi 查表
0dpi ~ 120dpi ———->ldpi
120dpi ~ 160dpi——–>mdpi
160dpi ~ 240dpi——–>hdpi
240dpi ~ 320dpi——–>xhdpi
320dpi ~ 480dpi——–>xxhdpi
480dpi ~ 640dpi——–>xxxhdpi
如果对应的drawable下没有我们需要的图片呢?
系统会在更高密度的目录下找这张图片。如果没有,系统在较低密度目录下依次寻找,寻找顺序举例:drawable-xhdpi -> drawable-hdpi -> drawable-mdpi -> drawable-ldpi。如果还没有,系统会在drawable-nodpi目录下寻找,如果还没有,就会报错喽。
总结:优先加载像素更高的
图片推荐放在哪个drawable下呢?
如果有多套图:放在对应的目录下,有利于适配
如果只有一套图:推荐按放在drawable-xxhdpi目录下来做,来节省内存开支 原因:
同一部手机,同一张图,放在dpi越低的目录下,图片在手机上显示的就越大,so 占的像素点就越多,越占内存。
px:屏幕像素
dpi: 屏幕密度,每英寸包含的像素数量(例如各种 drawable-dpi)
dp: 与屏幕密度无关,不同屏幕密度的设备上显示的大小相同
dip: 就是dp
sp: 与屏幕密度无关,字体大小
dp和px换算
将屏幕密度为160dpi的中密度设备屏幕作为基准屏幕,在这个屏幕中1dp=1px
在hdpi设备下1dp等于1.5px
在xxhdpi设备下1dp=3px
关于mipmap
用于放置icon的,那么要放多大的呢?新建一个项目,查看一下就好了。。
手机用的是哪个drawable下的图片呢?
1、先获得屏幕宽高的dpi:
float xdpi = getResources().getDisplayMetrics().xdpi;
float ydpi = getResources().getDisplayMetrics().ydpi;
2、根据dpi 查表
0dpi ~ 120dpi ———->ldpi
120dpi ~ 160dpi——–>mdpi
160dpi ~ 240dpi——–>hdpi
240dpi ~ 320dpi——–>xhdpi
320dpi ~ 480dpi——–>xxhdpi
480dpi ~ 640dpi——–>xxxhdpi
如果对应的drawable下没有我们需要的图片呢?
系统会在更高密度的目录下找这张图片。如果没有,系统在较低密度目录下依次寻找,寻找顺序举例:drawable-xhdpi -> drawable-hdpi -> drawable-mdpi -> drawable-ldpi。如果还没有,系统会在drawable-nodpi目录下寻找,如果还没有,就会报错喽。
总结:优先加载像素更高的
图片推荐放在哪个drawable下呢?
如果有多套图:放在对应的目录下,有利于适配
如果只有一套图:推荐按放在drawable-xxhdpi目录下来做,来节省内存开支 原因:
同一部手机,同一张图,放在dpi越低的目录下,图片在手机上显示的就越大,so 占的像素点就越多,越占内存。
相关文章推荐
- 关于Service的三种启动方式(一)
- Android:获取屏幕信息(宽高)的代码
- Android学习笔记5:探究活动2
- Android ImageLoader用法总结
- Android开发:计算缓存大小并且清空缓存
- android开发之数据库存取图片
- Android中px、dp、sp,这些单位的区别
- Communicating with Other Fragments
- Android Broadcast 广播
- Android Studio 高级配置
- 用Android Studio编写java程序
- 关于android的YuvImage旋转
- rx receivers
- android中原始数据库创建与框架的对比,建表三范式的理解
- Android 中文API:如何安全的为APK进行签名?
- 关于自定义无限轮播图_Android
- Android 开发经验(转)
- android学习之基于百度地图的地点检索和标记
- Android 内功心法(1.4)——android常用设计模式之代理模式
- androidView树的绘图流程