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屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
随机推荐
- android通过程序收起通知栏
1. 添加权限 <uses-permission android:name="android.permission.EXPAND_STATUS_BAR" /> 2. ...
- .NET平台技术体系
.NET平台技术体系梳理+初学者学习路径推荐+我们的愿景与目标 一 .NET平台技术体系梳理 .NET平台应用领域众多(桌面开发,web开发,移动开发),不断有新的编程爱好者开始学习或从其他平台转移到 ...
- JavaScript模板引擎原理
JavaScript模板引擎原理,几行代码的事儿 2013-12-03 16:35 by BarretLee, 650 阅读, 6 评论, 收藏, 编辑 一.前言 什么是模板引擎,说的简单点,就是一个 ...
- .Net 4.5 异步编程初试(async和await)
.Net 4.5 异步编程初试(async和await) 前言 最近自己在研究Asp.Net Web API.在看到通过客户端来调用Web API的时候,看到了其中的异步编程,由于自己之前没有接触过, ...
- mac 下安装oh my zsh
1.直接从github上下载 git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh 2.拷贝到账户目录下 cp ~/. ...
- 测试Data ORM的性能
闲着无聊,测试了一下公司ORM的性能,和其它的ORM相比,该有的都有了,不该有的也勉强塞了进去,总体考虑是并发与扩展性问题,譬如读写分离,消息总线服务整合,缓存内置. 测试机是I7,16G内存,这里只 ...
- 转--htaccess语法教程 apache服务器伪静态规则教程
转自:http://blog.csdn.net/qingli518/article/details/9118361 htaccess语法教程apache服务器伪静态规则教程 注:如果你是为了找Disc ...
- opencv编程入门技巧
opencv编程入门技巧 最近在项目中负责图像处理模块的编程工作,主要分为两个板块,一是视频图像去雾,二是可视.红外图像融合.为了提升开发效率,遂开始学习并使用opencv图像类库,效果很好的说~因为 ...
- JAVA-读取文件部分内容计算HASH值
对于一些大文件,有时会需要计算部分内容的Hash,下面的函数计算了 文件头尾各1M,中间跳跃100M取10K 以及文件大小的Hash值 public static String CalHash(Str ...
- [置顶] SQL注入安全分析
(一) 应用环境列表 网络互联设备操作系统 序号 操作系统名称 设备名称 脆弱性 1 IOS_路由器_内部_1 route1 2 IOS_路由器_VPN_1 路由器_VPN_1 3 IOS ...