物理独立像素
即分辨率,屏幕的像素数量,对android设计没有多大用处,从像素角度出发,忽略了物理尺寸的概念。
wiki:
PX(像素),为影像显示的基本单位,译自英文“pixel”,pix是英语单词picture的常用简写,加上英语单词“元素”element,就得到pixel,故“像素”表示“画像元素”之意,有时亦被称为pel(picture element)。每个这样的消息元素不是一个点或者一个方块,而是一个抽象的取样。仔细处理的话,一幅影像中的像素可以在任何尺度上看起来都不像分离的点或者方块;但是在很多情况下,它们采用点或者方块显示。每个像素可有各自的颜色值,可采三原色显示,因而又分成红、绿、蓝三种子像素(RGB色域),或者青、品红、黄和黑(CMYK色域,印刷行业以及打印机中常见)。照片是一个个取样点的集合,在影像没有经过不正确的/有损的压缩或相机镜头合适的前提下,单位面积内的像素越多代表分辨率越高,所显示的影像就会接近于真实物体。
平常所说的1920×1080只是像素数量,也就是1920px×1080px,代表手机高度上有1920个像素点,宽度上有1080个像素点。
DPI(英语:Dots Per Inch,每英寸点数)是一个量度单位,用于点阵数位影像,意思是指每一英寸长度中,取样或可显示或输出点的数目。如:打印机输出可达600DPI的分辨率,表示打印机可以在每一平方英寸的面积中可以输出600X600=360000个输出点。
PPI每英寸像素(英语:Pixels Per Inch,缩写:PPI),又被称为像素密度,是一个表示打印图像或显示器单位面积上像素数量的指数。一般用来计量计算机显示器,电视机和手持电子设备屏幕的精细程度。通常情况下,每英寸像素值越高,屏幕能显示的图像也越精细。
公式:√(x^2+y^2)/z
x:宽度的px
y:高度的px
z:屏幕大小,即屏幕对角线的长度,通常用英寸表示
假设分辨率为1920*1080px 屏幕五英寸
那么PPI就是√(1920^2+1080^2)/5≈440dpi ,是xxhdpi
密度独立像素
即dp,帮助开发者统一设备分辨率的单位。
图片适配
1.给mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi不同分辨率的图片
如图:
不然的话,如图:
2.使用svg类型的图片
矢量图 svg ,放大后不会出现马赛克 矢量图常常用来表示标识、图标、Logo等简单直接的图像 ,软件:Scape、lllustrator、Sketch。
位图 bmap jpg ,位图表现的色彩比较丰富,可以表现出色彩丰富的图象,可逼真表现自然界各类实物, 软件:Photoshop 、Gimp。
Android Studio新建Image Asset加载本地svg图片即可。
资源限定符
1.尺寸限定符
layout-sw600dp/xxx.xml
如图:
2.其他限定符
屏幕方向(Orientation)限定符
- res/layout-land
- res/layout-port
- res/layout-sw600dp-land
- res/layout-sw600dp-port
平面
在 material design 中 我们想象UI是由一张张数字纸张构成,称为平面。
把它想象成为3d,不同颜色的高度排序:白色<蓝色<红色
表面
微弱的分割符可以加速浏览,是页面更像一个整体。
反之,要提醒用户注意独立界面,可加深分隔符
屏幕上出现过多独立平面,会分散注意力,从经验上来讲,最好不要超过5个
阴影
android:elevation 即平面与背面的距离。
阴影使你的应用有一种离底面更高或更远的视觉感
margin与padding
margin外边距,表示的是偏移距离, 不希望空间成为对象的一部分用margin。
padding 内边距,表示的是填充距离,希望空间成为对象的一部分用padding。
何时成为对象的一部分,如果要增大可触摸区域或对象背景,请使用padding,反之,使用margin。