android开发不可不知的UI知识

前言

对ios和android使用同一套ios的交互设计这种做法不置可否,毕竟很多人都这么干,对此我们在开发中就要能够换算出适合分辨率的尺寸大小,我们可直接对比双方的分辨率来直接换算,例如:ios:(640*1136px) X 75% = ios:(480*852px) ≈ android(wvga hdpi):(480*800px),知道这个后就可以根据相应的比例进行换算

屏幕基础知识

iPhone界面尺寸:
设备分辨率PPI状态栏高度导航栏高度标签栏高度
iPhone6 plus1080x1920px401PPI54px132px146px
iPhone6750x1334px326PPI40px88px98px
iPhone5 - 5c - 5s640x1136px326PPI40px88px98px
iPhone4 - 4s640x960px326PPI40px88px98px
iPhone&iPod Touch第一、二、三代320x480px163PPI20px44px49px
android系统密度:
密度密度值分辨率比例dp与px
ldpi120240x32031dp = 0.75px
mdpi160320x48041dp = 1px
hdpi240480x80061dp = 1.5px
xhdpi320720x128081dp = 2px
xxhdpi4801080x1920121dp = 3px
xxxhdpi6403840x2160161dp = 4px
概念:
  1. 分辨率。分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽x高“,例如720x1280表示此屏幕在宽度方向有720个像素,在高度方向有1280个像素。Android比iPhone的尺寸多了很多套,建议取用 720x1280 这个尺寸,这个尺寸在720x1280中显示完美,在1080x1920中看起来也比较清晰;切图后的图片文件大小也适中,应用的内存消耗也不会过高。计算又简单,就是 1dp=2px

    为什么要选择720*1280来作为设计稿,而且分辨率设置为72
    因为320dpi屏幕的分辨率最常见的是720x1280,以这个尺寸作为画布尺寸,是最带感的,这样的设计稿就和应用在最多数的320dpi的机器上运行起来的样子一样。
    而且挑密度最大的,因为图片缩小比放大好,放大会失真,选320dpi作为目标屏幕,为其他屏幕提供图片时,只需要缩小。
    72 dpi是Photoshop的默认设置,不用改就好,这个数字和后面的换算有关系。

  2. 屏幕大小。屏幕大小是手机对角线的物理尺寸,以英寸(inch)为单位。比如某某手机为“5寸大屏手机“,就是指对角线的尺寸,5寸x2.54厘米/寸 = 12.7厘米。

  3. 密度(DPI,dots per inch;或PPI,pixels per inch)。从英文名可知,就是没英寸的像素点数,数值越高当然显示越细腻。假如我们知道一部手机的分辨率是1080x1920,屏幕大小是5英寸,那我们应该如何计算出屏幕的密度呢?很简单,我们可通过宽1080和高1920,根据勾股定律,可计算出对角线的像素数大约是2203,再用2203除以5就是此屏幕的密度了,计算结果是440。440dpi的屏幕已经相当的细腻了 。

  4. 一个重要的单位dp
    dp也可写为dip,即density-independent pixel。你可以想象dp更类似一个物理尺寸,比如一张宽和高均为100dp的图片在320x480和480x800的手机上“看起来“一样大。而实际上,他们的像素值并不一样。dp正是这样一个尺寸,不管这个屏幕的密度是多少,屏幕上相同dp大小的元素始终看起来差不多大。这也就是我们开发为啥要用dp的原因了。
    另外,文字尺寸使用sp,即scale-independentpixel的缩写,这样,当你在系统设置里调节字号大小时,应用中的文字也会随之变大变小。

  5. 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


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部