Android屏幕分级与单位转化
因Android屏幕ppi不同,导致就算同尺寸屏幕,像素尺寸大小可能也不同。所以,Android开发需要一套统一的尺寸单位。
Android程序开发同一使用虚拟尺寸单位:dp/dip、sp;
dp/dip:用于Android元素尺寸、比如按钮、导航尺寸;
sp:用于Android字体大小尺寸。
按Android开发原则,文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位。如:textSize=“14sp”、layout_height=“40dp”。
dp与px的转换
px与dp单位的转换与ppi有直接关系
ppi:指每英寸所拥有的像素数/每英寸像素;
Android分辨率转换
不同屏幕分类转换:显示分辨率转换逻辑分辨率(px/转化率)
屏幕分类 | 屏幕密度 | 显示分辨率/px | 代表手机 | 转换 | 逻辑分辨率/dp |
---|---|---|---|---|---|
低Ldpi | 120ppi | 240*320 | 绝迹 | 0.75 | 320*426 |
中Mdpi | 160ppi | 320*480 | iPhone3s/3.5英寸 | 1 | 320*480 |
高Hdpi | 240ppi | 480*800 | 小米1/4.7英寸 | 1.5 | 320*533 |
超高XHdpi | 320ppi | 720*1280 | 小米红米/4.7英寸 | 2 | 360*640 |
超超高XXHdpi | 480ppi | 1080*1920 | 华为Mate7/6英寸 | 3 | 360*640 |
超超超高XXXHdpi | 640ppi | 1440*2560 | 三星GALAXY S7/5.1英寸 | 4 | 360*640 |
iPhone主机型分辨率与单位转换
iOS开发虚拟尺寸单位:point/pt
设备 | 屏幕尺寸 | 显示分辨率/px | 转换 | 逻辑分辨率/pt | 宽高比例 |
---|---|---|---|---|---|
iPhone3G | 3.5英寸 | 320*480 | @1x | 320*480 | 0.66 |
iPhone4/4S | 3.5英寸 | 640*960 | @2x | 320*480 | 0.66 |
iPhone5C | 4英寸 | 640*1136 | @2x | 320*568 | 0.563 |
iPhone5/5S | 4英寸 | 640*1136 | @2x | 320*568 | 0.563 |
iPhone6 | 4.7英寸 | 750*1334 | @2x | 375*667 | 0.562 |
iPhone6S | 5.5英寸 | 12422208 (10801920) | @3x | 414*736 | 0.562 |
iPhone7 | 4.7英寸 | 750*1334 | @2x | 375*667 | 0.562 |
iPhone7S | 5.5英寸 | 12422208 (10801920) | @3x | 414*736 | 0.562 |
Android手机应用结构
Android手机应用结构包括固定的状态栏、应用栏、内容区、可选实现底栏(添加额外功能和更多操作)、左/右侧导航。
Status Bar:状态栏
App Bar:应用栏/操作栏(可放置工具栏,显示应用的logo、主标题、导航、菜单以及功能等)
Left Nav:左侧导航
Right Nav:右侧导航
Content Area:内容区
Bottom Bar:底栏
应用常见组件尺寸建议
状态栏:24dp
操作栏:44/48dp
侧边导航:286/304dp
悬浮操作按钮:56dp
操作栏+TAB:36+33dp/44+40dp
底栏:44/48dp
按钮:48dp
水平外边距:屏幕水平外边距,尺寸建议为:6dp、8dp、16dp