1 尺寸单位定义

  • px(pixel,像素):每个px对应屏幕上的一个点
  • dip或dp(device independent pixels,设备独立像素):一种基于屏幕密度的抽象单位。在每英寸160个点的显示器上,1dip = 1px。但随着屏幕密度的改变,dip与px的换算会发生改变,dp是与实际尺寸匹配的单位
  • sp(scaled pixels,比例像素):主要处理字体的大小,可根据用户的字体大小首选项 进行缩放
  • in(inch,英寸):标准长度单位,1inch = 25.4mm
  • pt(point,磅):标准长度单位,1inch = 72pt

2 PPI(Pixel Per Inch,像素密度):每英寸上的像素

  • PPI = √(长度像素数² + 宽度像素数²) / 屏幕对角线英寸数
  • 一般情况下的普通屏幕的PPI:ldpi是120,mdpi是160,hdpi是240,xhdpi是320。

 3 屏幕级别

屏幕级别
屏幕密度
比率(相对)
物理大小(英寸)
dp
像素大小
通常的分辨率
ldpi
120
3
0.75
1
120/0.75=160
120
 
mdpi
160
4
1
1
160/1=160
160
320*480
hdpi
240
6
1.5
1
240/1.5=160
240
480*800
xhdpi
320
8
2
1
320/2 = 160
320
720*1280
xxhdpi
480
12
3
1
483/3 = 160
480
1080*1800

4 android屏幕匹配

  • android对应存在drawalbe-ldpi,drawable-mdpi,drawable-hdpi,drawable-xhdpi,drawable-xxhdpi等文件夹
  • 文件夹所对应的屏幕密度/像素密度比low:medium:high:extra-high:extra-extra-high=3:4:6:8:12
  • 尺寸单位dp/sp与屏幕密度对应的单位:1dp*PPI/160 = 实际像素数       sp*ppi/160 = 实际像素 (dp表示图片尺寸,sp表示字体尺寸)
  • 按照图片所在文件夹,其显示实际尺寸与该屏幕密度对应,如果错位显示,其实际尺寸不变,但程序中尺寸数值应该与屏幕密度比例关系对应(也就是说,如果我的屏幕是hdpi的,结果我的图片是放到了xhdpi下,那系统会把这张图片进行缩小显示)即:3:4:6:8:12 = a:x:x:x:x

5 获取设备分辨率

        DisplayMetrics dm = new DisplayMetrics();     
        getWindowManager().getDefaultDisplay().getMetrics(dm);     
         //获得手机的宽度和高度像素单位为px     
        Helper.setWidthPixelsHeightPixels(dm.widthPixels, dm.heightPixels); 

android中常用的尺寸单位及其关系的更多相关文章

  1. Android中常用布局单位

    Android在UI布局时经常用到一些单位,对单位混用直接会影响UI的显示,要想正确的在布局中使用每种单位就必须先真正的熟悉它. UI显示效果的影响因素:屏幕尺寸.屏幕密度.分辨率:而android手 ...

  2. web前端开发中常用的尺寸和位置

    我们在日常web前端开发过程中,会经常用到各种尺寸和位置.通常是js做动画的时候.轮播图,滚屏动画,粒子,碰撞检测,拖拽,滚动加载等等.这里我将常用的尺寸和位置的获取进行总结,不包括canvas,SV ...

  3. Android 系统当中各种尺寸单位的定义及使用

    一,Android 各种标尺单位的含义: px:表示屏幕实际的象素.例如,320*480的屏幕在横向有320个象素,在纵向有480个象素.pt:表示一个点,是屏幕的物理尺寸.大小为1英寸的1/72.i ...

  4. Android中常用控件及属性

    在之前的博客为大家带来了很多关于Android和jsp的介绍,本篇将为大家带来,关于Andriod中常用控件及属性的使用方法,目的方便大家遗忘时,及时复习参考.好了废话不多讲,现在开始我们本篇内容的介 ...

  5. android 中的 window,view,activity具体关系

    通过讨论这个问题,我们能够见识到google是对面向对象模式的理解,能够理解android底层的一些调用.这也是一道很常见的面试题. 我们这篇文章就来解决这四个问题: Android  中view的显 ...

  6. android中常用的布局管理器

    Android中的几种常用的布局,主要介绍内容有: View视图 RelativeLayout    相对布局管理器 LinearLayout     线性布局管理器 FrameLayout     ...

  7. Android中常用的布局

    一般分为5大类. Android中所有的空间第一字母都是大写 1.线性布局 LinearLayout 2.相对布局 RelativeLayout 3.帧布局--分层显示  FrameLayout 4. ...

  8. android中常用的弹出提示框

    转自:http://blog.csdn.net/centralperk/article/details/7493731 我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的 ...

  9. Android中常用单位dp,px,sp之间的相互转换

    MainActivity如下: package cc.testunitswitch; import android.os.Bundle; import android.util.DisplayMetr ...

随机推荐

  1. 命令行添加用户的“作为服务登录”权利(添加Windows用户的时候,门道不是一般的多)good

    1.打开控制台(“开始”|“运行”中输入:MMC) 2.“文件”菜单|“添加删除管理单元”|“添加...”|选“安全模板”|“关闭”. 3.在“C:\Windows\Security\template ...

  2. CityEngine 2013部署安装

    安装环境: windows8.1 专业版 已安装arcgis10.2 2的授权方式也同样分为:单机许可和浮动 许可.单机许可是将许可部署在本机直接使用:浮动许可是部署到服务器上通过IP地址连接,可借出 ...

  3. linux进程模型总结

    Linux进程通过一个task_struct结构体描述,在linux/sched.h中定义,通过理解该结构,可更清楚的理解linux进程模型.       包含进程所有信息的task_struct数据 ...

  4. UML各种图画法总结

    <UML 2.4.1 教程> http://www.sparxsystems.cn/resources/uml2_tutorial/ <UML总结(对九种图的认识和如何使用Ratio ...

  5. 高难度(1)常用的AR构架或库

    Layar http://www.layar.com/ Layar旨在打造的一个开放的增强现实的平台,任何第三方都可以通过Layar的开发接口来打造基于Layar的自己的增强现实应用. 高通AR开发包 ...

  6. Hive简介

    实验简介 我们本节课程主要介绍 Hive 的相关知识,将会涉及以下内容: Hive 的定义 Hive 的体系结构 Hive 与关系数据库的区别 Hive 的应用场景 Hive 的存储 一.什么是 Hi ...

  7. poj2886Who Gets the Most Candies? (约瑟夫环)

    http://poj.org/problem?id=2886 单点更新 初始位置都是1 如果这个人出去 位置变为0 利用线段树求区间k值 k值的计算如下 如果这个数值是负的 那么下一个人的就是((k- ...

  8. 如何把Excel另存为XML格式文件(快速转换)

    这时,我们尝试另存为另一种文件类型: XML电子表格2003(*.xml)

  9. 函数buf_LRU_free_from_unzip_LRU_list

    /******************************************************************//** Try to free an uncompressed ...

  10. ,net运行框架

    .NET FrameWork框架 是一套应用程序开发框架,主要目的提供一个开发模型. 主要的两个组件: 公共语言运行时(Common Language Runtime)(CLR): 提供内存管理.线程 ...