一、开发中的实际情况(促进理解):
Android开发中一个很重要的组成,就是开发者和UI设计师的配合,这关乎到APP界面部分——吸引用户的直接手段,那么在实际开发中,开发者和设计师是如何配合的呢?第一步:产品经理和UI设计师制定好UI规范,然后开始做图标做颜色做尺寸等一系列和APP界面强相关的工作,以最常见的“back”按钮为例,UI设计师从无到有的具体实现步骤:①在coreldraw或者Sketch中制作好“矢量图标“—返回,此时的长宽单位是毫米;②保存输出为“PNG位图图片”—返回,此时的长宽单位是px(像素);③指定好此图标的内外边距,此时的边距单位是px(像素);④最终此图标图片交到开发者手中,做好图片的放置和内外边距的实现。开发这在这个过程中会遇到一个问题:内外边距是由px为单位的距离,但是在实际开发中“dp”做为单位的更加常见,所以就会涉及到“px”“dp”互转的封装类,专门用来实现这个过程,同时还要注意不同分辨率屏幕的适配。
二、上述过程中涉及到的知识点(非常重要):
(1)px,平常我们所说的手机的分辨率是1920×1080,这就是像素数量,也就是1920px×1080px,代表手机高度上有1920个像素点,宽度上有1080个像素点,每个像素点的单位是px。
(2)dp,dp是为了开发者便于做不同屏幕的适配而引入的开发单位,具体来说就是为了使得开发者设置的长度能够根据不同屏幕(分辨率/尺寸也就是dpi)获得不同的像素(px)数量。比如:我将一个控件设置长度为1dp,那么在160dpi上该控件长度为1px,在240dpi的屏幕上该控件的长度为1*240/160=1.5个px。也就是dp会随着不同屏幕而改变控件长度的像素数量。
(3)DPI,用户实际判别手机屏幕的显示好坏,除了分辨率还要考虑屏幕的宽高(英寸),也就是用dpi,即每英寸多少像素来评价屏幕的显示效果。(不然假如手机分辨率是1920×1080,但是屏幕是几十寸的,那显示效果将不会很好,甚至你有可能看到小的像素块,那将更影响视觉效果。)
三、Android开发中图标尺寸总结(务必掌握):
(1)dpi、分辨率与图标尺寸的关系
L DPI ( 120 DPI )—分辨率240*320px,其启动图标大小为 36 x 36 px
M DPI (160 DPI )—分辨率320*480px,其启动图标大小为 48 x 48 px
H DPI ( 240 DPI )—分辨率480*800px,其启动图标大小为 72 x 72 px
XH DPI ( 320 DPI )—分辨率1280*720px,其启动图标大小为 96 x 96 px
XXH DPI( 480 DPI )—分辨率1920*1080px,其启动图标大小为144 x 144 px
XXXH DPI( 640 DPI )—分辨率3840*2160px,其启动图标大小为192 x 192 px
(2)开发中“px”到“dp”
从 px 换算成 dp 要知道它是以什么 dpi 标准来设计的,换句话说,就是要根据不用分辨率的屏幕,根据换算关系表得到相应的 dp 。 例如: 以 xxhdpi 标准设计的 UI,其中一个切图的分辨率是 600 px * 360 px ,根据换算关系表可知,在 xxhdpi 标准下,1 dp = 3 px ,则其对应的 dp 是 200 dp * 120 dp 。换算关系表如下:(两次标红 请重点关注)
名称 | 对应 DPI | 比例(以 mdpi 为基数 1) | 和px的换算关系 |
lpdi | 120 DPI | 0.75 | 1 dp = 0.75 px |
mdpi | 160 DPI | 1 | 1 dp = 1 px |
hdpi | 240 DPI | 1.5 | 1 dp = 1.5 px |
xhdpi | 320 DPI | 2 | 1 dp = 2 px |
xxhdpi | 480 DPI | 3 | 1 dp = 3 px |
xxxhdpi | 640 DPI | 4 | 1 dp = 4 px |
备注:看完之后,就知道文中为何重点将1280*720px和1920*1080px标注为红色了。(时间为2018-03-21)
http://compass.umeng.com/?spm=a211g2.181323.0.0.5c633604E4m8T7&&utm_source=zzbanner#/equipment?_k=jmi4ox
原创文章:转载请标明出处 谢谢。