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屏幕适配的原因.重要概念.解决方案及最佳实践,我相信如果你能认真的学习 ...
随机推荐
- C#单元测试工具包:MvcContrib
C#单元测试工具包:MvcContrib http://t.cn/hE67d https://mvccontrib.codeplex.com/documentation MVC Contrib Doc ...
- lex与yacc快速入门
lex与yacc快速入门 [原创] 声明:原创文章,转载注明出处http://www.cnblogs.com/lucasysfeng/ 联系作者:lucasysfeng@gmail.com 第一节.l ...
- .NET 类库研究
.NET 类库研究必备参考 添加微软企业库源码 前不久,为大家提供了一个.NET 类库参考源码的网站,扣丁格鲁(谐音“coding guru”),使用了段时间,发现一些不方便的地方,特意做了一些更改, ...
- Java多线程学习笔记--生产消费者模式
实际开发中,我们经常会接触到生产消费者模型,如:Android的Looper相应handler处理UI操作,Socket通信的响应过程.数据缓冲区在文件读写应用等.强大的模型框架,鉴于本人水平有限目前 ...
- winform动态的文字效果
效果图如下
- 设计模式18---设计模式之策略模式(Strategy)(行为型)
1.场景模拟 简单的报价管理系统: 对于普通用户和新用户报全价 对于老客户统一折扣5% 对于大客户统一折扣10% 2.不用模式的解决方案 package demo16.strategy.example ...
- C/C++基础知识总结——多态性
1. 多态性的概述 1.1 多态是指同样的消息被不同类型的对象接收时导致不同的行为.所谓消息是指对垒的成员函数的调用,不同行为是指不同的实现. 1.2 多态的实现 (1) 实现角度讲多态可分为两类:编 ...
- 教你用shell写CGI程序
以前用shell写过一些cgi的例子.今天向大家介绍一下. CGI是一种接口的标准,并不区分编程语言,也就是说,CGI可以用任何一种语言编写,只要这种语言具有标准输入.输出和环境变量.CGI会将标准输 ...
- 2012 T-SQL 新特性 and O2O项目
SQL Server 2012 T-SQL 新特性 NoSQL之HBase 9月初淘宝飞芃做了一个关于HBase的分享,讲的激情飞扬,让听众收益匪浅,现做下简单总结. HBase是一个NoSQL数 ...
- 关于JSF国际化问题
由于最近一个项目的MVC层框架用的是JSF,所以在摸索中遇到了不少的问题,其中有一项就是关于国际化的的问题. 小弟在网上找了很多的资料,其实无外乎内容就都那样,可不知是小弟人品太差还是由于确实技术上有 ...