android开发不可不知的UI知识
前言
对ios和android使用同一套ios的交互设计这种做法不置可否,毕竟很多人都这么干,对此我们在开发中就要能够换算出适合分辨率的尺寸大小,我们可直接对比双方的分辨率来直接换算,例如:ios:(640*1136px) X 75% = ios:(480*852px) ≈ android(wvga hdpi):(480*800px),知道这个后就可以根据相应的比例进行换算
屏幕基础知识
iPhone界面尺寸:
| 设备 | 分辨率 | PPI | 状态栏高度 | 导航栏高度 | 标签栏高度 |
|---|---|---|---|---|---|
| iPhone6 plus | 1080x1920px | 401PPI | 54px | 132px | 146px |
| iPhone6 | 750x1334px | 326PPI | 40px | 88px | 98px |
| iPhone5 - 5c - 5s | 640x1136px | 326PPI | 40px | 88px | 98px |
| iPhone4 - 4s | 640x960px | 326PPI | 40px | 88px | 98px |
| iPhone&iPod Touch第一、二、三代 | 320x480px | 163PPI | 20px | 44px | 49px |
android系统密度:
| 密度 | 密度值 | 分辨率 | 比例 | dp与px |
|---|---|---|---|---|
| ldpi | 120 | 240x320 | 3 | 1dp = 0.75px |
| mdpi | 160 | 320x480 | 4 | 1dp = 1px |
| hdpi | 240 | 480x800 | 6 | 1dp = 1.5px |
| xhdpi | 320 | 720x1280 | 8 | 1dp = 2px |
| xxhdpi | 480 | 1080x1920 | 12 | 1dp = 3px |
| xxxhdpi | 640 | 3840x2160 | 16 | 1dp = 4px |
概念:
分辨率。分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽x高“,例如720x1280表示此屏幕在宽度方向有720个像素,在高度方向有1280个像素。Android比iPhone的尺寸多了很多套,建议取用 720x1280 这个尺寸,这个尺寸在720x1280中显示完美,在1080x1920中看起来也比较清晰;切图后的图片文件大小也适中,应用的内存消耗也不会过高。计算又简单,就是 1dp=2px 啊
为什么要选择720*1280来作为设计稿,而且分辨率设置为72
因为320dpi屏幕的分辨率最常见的是720x1280,以这个尺寸作为画布尺寸,是最带感的,这样的设计稿就和应用在最多数的320dpi的机器上运行起来的样子一样。
而且挑密度最大的,因为图片缩小比放大好,放大会失真,选320dpi作为目标屏幕,为其他屏幕提供图片时,只需要缩小。
72 dpi是Photoshop的默认设置,不用改就好,这个数字和后面的换算有关系。屏幕大小。屏幕大小是手机对角线的物理尺寸,以英寸(inch)为单位。比如某某手机为“5寸大屏手机“,就是指对角线的尺寸,5寸x2.54厘米/寸 = 12.7厘米。
密度(DPI,dots per inch;或PPI,pixels per inch)。从英文名可知,就是没英寸的像素点数,数值越高当然显示越细腻。假如我们知道一部手机的分辨率是1080x1920,屏幕大小是5英寸,那我们应该如何计算出屏幕的密度呢?很简单,我们可通过宽1080和高1920,根据勾股定律,可计算出对角线的像素数大约是2203,再用2203除以5就是此屏幕的密度了,计算结果是440。440dpi的屏幕已经相当的细腻了 。
一个重要的单位dp
dp也可写为dip,即density-independent pixel。你可以想象dp更类似一个物理尺寸,比如一张宽和高均为100dp的图片在320x480和480x800的手机上“看起来“一样大。而实际上,他们的像素值并不一样。dp正是这样一个尺寸,不管这个屏幕的密度是多少,屏幕上相同dp大小的元素始终看起来差不多大。这也就是我们开发为啥要用dp的原因了。
另外,文字尺寸使用sp,即scale-independentpixel的缩写,这样,当你在系统设置里调节字号大小时,应用中的文字也会随之变大变小。dp与px的转换
在android中,系统密度为160dpi的中密度手机屏幕为基准屏幕,即320x480的手机屏幕。在这个屏幕中,1dp=1px。
100dp在320x480(mdpi,160dpi)中是100px。那么100dp在480x800(hdpi,240dpi)的手机上是多少px呢?我们知道100dp在两个手机上看起来差不多大,根据160与240的比例关系,我们可以知道,在480x800中,100dp实际上覆盖了150px。因此,如果你为mdpi手机提供了一张100px的图片,这张图片在hdpi手机上就会拉伸至150px,但是他们都是100dp。
中密度和高密度的缩放比例似乎可以不通过160dpi和240dpi计算,而通过320px和480px也可以算出。但是按照宽度计算缩放比例不适 用于超高密度xhdpi和超超高密度xxhdpi了。即720x1280中1dp是多少px呢?如果用720/320,你就会得出1dp=2.25px,实际这样算出来是不对的。dp与px的换算要以系统密度为准,720x1280的系统密度为320,320x480的系统密度为160,320/160=2;那么在720x1280中,1dp=2px。同理,在1080x1920中1dp=3px。
当android系统字号设为“普通“时,sp与px的尺寸换算和dp与px是一样的。比如某个文字大小在720x1280的PS画布中是24px,那么告诉工程师,这个文字大小是12sp。
这里附上 Android界面设计视觉规范 及 App尺寸大全
Material design设计规范
这里主要提供android端的界面组件间距、尺寸等,更详细内容可到 中文文档 或 官方英文 查看更多内容,以下内容图片来自这里
边框与间距


该屏幕演示图标、头像和一个2行文本的列表如何左对齐,以及一个56dp的浮动动作按钮和文本如何右对齐。
左右各有16dp的垂直边框。带有图标或者头像的内容有7
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
