drawable( hdpi, ldpi, mdpi, xhdpi)区别
16lz
2021-01-26
drawable( hdpi, ldpi, mdpi, xhdpi)区别
转自: http://blog.csdn.net/mtt1987/article/details/8787365
貌似是在Android2.1之前的时代,新建Android工程,工程会自动生成一个drawable的目录。
到了Android4.0时代,新建Android工程,工程会自动生成drawable-hdpi, drawable-ldpi, drawable-mdpi, drawable-xhdpi四个目录。
不同点在于,图片资源文件被细分了。系统会根据dip的大小选择对应目录下的资源文件。
drawable-hdpi 对应DPI为240
drawable-ldpi对应DPI为120
drawable-mdpi对应DPI为160
drawable-xhdpi 对应DPI为320
获取屏幕DPI(屏幕密度)方法:
[java] view plain copy print ?- DisplayMetricsdm=newDisplayMetrics();
- dm=getResources().getDisplayMetrics();
- floatdensity=dm.density;//屏幕密度(像素比例:0.75,1.0,1.5,2.0)
- intdensityDPI=dm.densityDpi;//屏幕密度(每寸像素:120,160,240,320)
px与dip的换算:
density = 0.75, px : dip = 1 : 1.5
density = 1, px : dip = 1 : 1
density = 1.5, px : dip = 1.5 : 1
在开发过程中,请根据不同的DPI设计不同大小的图标,并将图标放在对应的目录下。千万不要放在drawable文件下,否则可能会引起图标大小不一致。
错误举例:
为1080P设计的的图标放在drawable下,在1080P下,图标会被放大。解决办法就是放到drawable-hdpi 目录下。
官方参考地址:
http://developer.android.com/guide/practices/screens_support.html
更多相关文章
- Android根据日期自动修改Icon
- android studio导工程出现Error:Execution failed for task ':ap
- Android(安卓)新建工程 卡在Gradle:Resolve dependencies':app:_
- [转]Android(安卓)获取当前Activity的屏幕截图
- 菜单栏上没有android机器人的图标(AVD)的解决方法
- Android中判断状态栏是否存在
- 在android工程中导入layoutlib.jar
- android 屏幕切换
- Android拨号键盘增加魔力爱心数字