android屏幕适配之度量单位、屏幕分类、图标尺寸归类分析
好久没有做android项目UI的适配了,好多基本概念都已经模糊了,于是萌生了将屏幕分辨率、常用单位、常用图标尺寸等信息规整的想法,一下就是通过查询资料,自己验证的一些随笔,如有失误之处,望大家及时予以指正,我将及时更新改正,有部分内容未添加,有些是不常用,有些是没有相关资料,希望在以后能慢慢补全。
一、常见单位:
1、px(pixels):(像素) 屏幕上可见像素点
2、dip/dp(Density independent pixels): 设备无关像素的长度单位。
3、sp(放大像素):scaled pixels,主要用于字体显示 best for text size (随系统字体大小设置而变化)
4、dpi:(dots per inch )一英寸多少个像素点。常见取值 120,160,240。我一般称作像素密度,简称密度
5、density:密度。常见取值 1.5 , 1.0 。和标准dpi的比例(160px/inc)
6、in (英寸):长度单位
7、mm(毫米):长度单位
8、pt:point (磅)一个标准的长度单位,1pt = 1/72英寸,常用于印刷业
二、常见概念:
1、分辨率:横纵2个方向的像素点的数量,如:480*800
2、屏幕尺寸:屏幕对角线长度,多以英寸为单位
3、屏幕比例:确定屏幕对角线长度后,屏幕形状没有确定,有了屏幕比例 4:3、16:9 这种屏幕比例后,就可以计算屏幕长宽
三、计算方法:
dpi = 对角线像素点数(根据分辨率通过勾股定理获取)/屏幕尺寸
density = dpi/160
四、屏幕尺寸与dp对照表:
资源文件夹 |
屏幕尺寸 |
屏幕像素密度(dpi-dots per inch) |
密度(density) |
1dp/dip |
ldpi |
0.75 |
0.75px |
||
mdpi |
320*480 |
1.0(160px/inc) |
1px |
|
hdpi |
480*800 |
1.5 |
1.5px |
|
xhdpi |
1280*720 |
2.0 |
2px |
|
xxhdpi |
1920*1080 |
3.0 |
3px |
五、activity中获取相关参数方式:
DisplayMetrics metric = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metric);
int width = metric.widthPixels; // 屏幕宽度(像素)
int height = metric.heightPixels; // 屏幕高度(像素)
float density = metric.density; // 屏幕密度(0.75 / 1.0 / 1.5)
int densityDpi = metric.densityDpi; // 屏幕密度DPI(120 / 160 / 240)
六、常用图标尺寸设计规范:
ldpi |
mdpi |
hdpi |
xhdpi |
xxhdpi |
||
应用启动图标 |
36 x 36 px |
48 x 48 px |
72 x 72 px |
96 x 96 px |
144 x 144 px |
|
底部菜单图标 |
完整图片 |
36 x 36 px |
48 x 48 px |
72 x 72 px |
||
图标 |
24 x 24 px |
32 x 32 px |
48 x 48 px |
|||
图标外边框 |
22 x 22 px |
30 x 30 px |
44 x 44 px |
|||
弹出对话框顶部图标 |
24 x 24 px |
32 x 32 px |
48 x 48 px |
|||
长列表内部列表项图标 |
24 x 24 px |
32 x 32 px |
48 x 48 px |
|||
底部或顶部tab标签图标 |
完整图片 |
24 x 24 px |
32 x 32 px |
48 x 48 px |
||
图标 |
22 x 22 px |
28 x 28 px |
42 x 42 px |
|||
底部状态栏图标 |
18 x 18 px |
24 x 24 px |
36 x 36 px |
48 x 48 px |
android屏幕适配之度量单位、屏幕分类、图标尺寸归类分析的更多相关文章
- Android屏幕适配和文字屏幕适配
http://blog.sina.com.cn/s/blog_9996c67e0101euwd.html 最近在一个项目中要实现屏幕适配平板和手机等不同的型号,而蛋疼的美工给了一套图,而且这些图纸有在 ...
- Android必知必会-App 常用图标尺寸规范汇总
若移动端访问不佳,请使用 –> Github版 内容持续更新中,更新日期:2016-08-11 1. 程序启动图标(icon launcher) 放在mipmap-*dpi下,文件名为ic_la ...
- Android屏幕适配与切图_汇总
首先和最后,还是先看好官方文档:http://developer.android.com/guide/practices/screens_support.html 对应的翻译blog有牛人做了:And ...
- 【Android 应用开发】Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19698511 . 最近遇到了一系列的屏幕适配问题, 以及 ...
- Android屏幕适配解析 - 详解像素,设备独立像素,归一化密度,精确密度及各种资源对应的尺寸密度分辨率适配问题
. 作者 :万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/19698511 . 最近遇到了一系列的屏幕适配问题, 以及 ...
- iOS学习笔记24-不断进化的屏幕适配
一.屏幕适配 iOS的屏幕适配可以分为3大块,代表着不同时期的屏幕适配主流: AutoResizing:在iOS6之前,完全能够胜任,因为当时苹果只有3.5寸屏,加上比较少的支持横屏,它有非常大的局限 ...
- 最清晰的Android多屏幕适配方案
问题的引入 当您的Android应用即将发布的时候,如果你想让更多的用户去使用你的应用,摆在工程师面前的一个重要问题就是如何让你的应用能在各种各样的终端上运行,这里的各种各样首当其冲的就是不同的屏幕分 ...
- 【收藏】Android屏幕适配全攻略(最权威的Google官方适配指导)
来源:http://blog.csdn.net/zhaokaiqiang1992 更多:Android AutoLayout全新的适配方式, 堪称适配终结者 Android的屏幕适配一直以来都在折磨着 ...
- Android屏幕适配全攻略(最权威的官方适配指导)(转),共大家分享。
Android的屏幕适配一直以来都在折磨着我们这些开发者,本篇文章以Google的官方文档为基础,全面而深入的讲解了Android屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
随机推荐
- ORACLE表建立自增列
create tablespace studentDBdatafile 'E:\datafiles_1.dbf' size 10m; create user Huang_Ying_Boidentifi ...
- vijos1060 隔板法
排列组合问题 之前没有学过隔板法,随便学习了一下 其实挺好理解的 附上题解: 先只考虑一种球:因为有n个盒子每个盒子可以放任意多球,还可以空出来任意多球.所以可以考虑为n+1个盒子,最后一个盒子里面是 ...
- Stimulsoft.Report.net报表简单实用
1 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System. ...
- IOS学习之路(二十五)UIView动画,弹出后移动然后消失
首先在viewdidload中添加UIlable并且把其设为隐藏 然后在点击按钮后,让其弹出移动后消失 //点击按钮后: #pragma mark 点击关注按钮 - (IBAction)guanzhu ...
- Git - error: RPC failed; result=22, HTTP code = 401 fatal: The remote end hung up unexpectedly
在用Git管理代码版本时,用git push命令提交代码,提示: 有以下几个可能性: Git 版本过低.GitCafe 推荐使用的 Git 版本是 >= 1.7. $ git --version ...
- 为什么不能在子类或外部发布C#事件
为什么不能在子类或外部发布C#事件 背景 一个朋友问了一个问题:“为什么不能在子类或外部发布C#事件?”,我说我不知道,要看看生产的IL代码,下面我们看看. 测试 代码 1 using System; ...
- RILC
RILC RIL层的作用大体上就是将上层的命令转换成相应的AT指令,控制modem工作.生产modem的厂家有很多:Qualcomm, STE, Infineon... 不同的厂家都有各自的特点,当然 ...
- asp.net MVC 路由机制
1:ASP.NET的路由机制主要有两种用途: -->1:匹配请求的Url,将这些请求映射到控制器 -->2:选择一个匹配的路由,构造出一个Url 2:ASP.NET路由机制与URL重写的区 ...
- Redis监控数据分布工具Redis-audit 使用总结
Redis-audit 是一个用ruby实现的脚本,通过它,我们可以知道每一类 key 对内存的使用量.它可以提供的数据有:某一类 key 值的访问频率如何,有多少值设置了过期时间,某一类 key 值 ...
- iOS GCD中级篇 - dispatch_group
1.关于dispatch_group 把一组任务提交到队列中,这些队列可以不相关,然后监听这组任务完成的事件. 最常见的几个方法: 1.dispatch_group_create创建一个调度任务组 2 ...