Android 切图与标注

I. 标注

下文中提到的density是指: DisplayMetrics#density

在显示器中,dpi = ppi
手机的ppi: 对角线像素点个数px / 对角线英寸inch

  • dpi(dot per inch): 点/英寸
  • ppi(pixel per inch): 像素/英寸

dp = px /density
让设计师给标注的时候,最好是能够给160dpi屏幕上的标注,此时密度是1,px=dp

  • dp(Density-independent pixel): 1dp为屏幕点密度为160dpi(density=1)时像素点数: dp = px/(dpi /160 ) = px / density
  • dpi(dot per inch): dip = dp
  • sp : 一般系统没有特殊配置(用于字体),sp = dp

市面主要的Android手机屏幕尺寸: 5.5寸、5寸、4.7寸、3.7寸

适配原则

Device Metrics: 官方给出的部分机型DPI与尺寸

屏幕分辨率(px)宽inch * 长inch对角线(inch)宽dip * 长dip屏幕ppidensity标准densityDPI默认资源目录常见手机
240 x 3202.00 x 2.673.3120 x 1201210.75120ldpi-
240 x 3201.50 x 2.002.5160 x 1601601160mdpi-
340 x 4801.50 x 2.002.5227 x 2402351.5240hdpi-
480 x 8001.90 x 3.173.7253 x 2522521.5240hdpiNexus One
720 x 12802.3 x 4.104.7313 x 3123122320xhdpi红米2A、红米2、美图M4
768 x 12802.42 x 4.034.7317 x 3173172320xhdpiNexus 4
1080 x 19202.79 x 4.975.7387 x 3863862.5400400dpi小米Note标准
1080 x 19202.45 x 4.365441 x 4404412.625420420dpi(API 23前是属于480,xxhdpi)小米3、小米4、小米4c
1080 x 19202.42 x 4.314.95446 x 4454453480xxhdpiNexus5
1440 x 25602.92 x 5.205.96493 x 4924923480xxhdpiNexus 6
1440 x 25602.79 x 4.975.7516 x 5155153480xxhdpi小米Note顶配,Nexus 6P
-----4640xxxhdpi-

Android 取资源原则

如果存在匹配的就取对应文件夹资源,否则会选择default的作为160dpi进行缩放(但是也不一定,因为如ldpi与hdpi是0.5倍关系内部此时为了便于计算,就会取hdpi的进行缩放),否则一般取最高清的资源根据density进行缩放。

常用工具

Android Virtual Device Manager

需要注意

Managing Launcher Icons as mipmap Resources

mipmap用于存放应用图标(Launcher Icon),不会受资源优化所影响,保证应用图标的高清.

II. 9patch

俗称点9图
腾讯ISUX (http://isux.tencent.com/android-ui-9-png.html)

  • 1、2 拉伸区域
  • 3、4 内容区域

内容区域作用如下图

其中的内容布局是: 垂直居中,水平靠左
注意其中3、4的内容区域

不想被拉伸

点在透明区域即可



Jacksgong wechat
欢迎关注Jacks Blog公众号,第一时间接收原创技术沉淀干货。