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. JS选中OPTION

    var obj_prov = document.getElementById("prov"); var prov_text = obj_prov.options[obj_prov. ...

  2. Android tab_Host页面跳转,传值,刷新等问题汇总

    之前做了一个项目是关于Tab_Host的,现在完成了恰逢闲余写份总结,主要涉及里面遇到问题以及解决方案的. (首先说明这份代码是在eoe 下载的,这里感谢分享的那位朋友,限于我的工程是公司的不能拿出来 ...

  3. 【转】奇异值分解(We Recommend a Singular Value Decomposition)

    文章转自:奇异值分解(We Recommend a Singular Value Decomposition) 文章写的浅显易懂,很有意思.但是没找到转载方式,所以复制了过来.一个是备忘,一个是分享给 ...

  4. C#中的线程(三) 使用多线程

    第三部分:使用多线程 1.  单元模式和Windows Forms 单元模式线程是一个自动线程安全机制, 非常贴近于COM——Microsoft的遗留下的组件对象模型.尽管.NET最大地放弃摆脱了遗留 ...

  5. ubuntu12.04升级后找不到共享目录

    备注:采用VMware-workstation 10 更新命令:sudo apt-get update 今天开始搭建Android开发环境,先升级系统,升级后发现windows和ubuntu共享的目录 ...

  6. maven打包源代码sources.jar和javadoc.jar帮助文档

    maven中如何打包源代码 *-sources.jar 方式一 :   命令行方式 进入cmd命令行,进入项目工程pom.xml所在路径目录,运行mvn source:jar 和 mvn javado ...

  7. 1003. Parity(并查集)

    1003 看篇国家论文 <从<parity>的解法谈程序优化> 对于区间i,j 如果用sum[i],sum[j]来表示到i的1的个数的奇偶性 那么仔细想下 sum[i-1] 若 ...

  8. js压缩、混淆和加密

    最近看到有些论坛在讨论js压缩.混淆和加密的问题,特意找了些资料看了下,现在总结一下: 1.关于三者的定义与区别 压缩:删除 Javascript 代码中所有注释.跳格符号.换行符号及无用的空格,从而 ...

  9. poj 1125 Stockbroker Grapevine(最短路 简单 floyd)

    题目:http://poj.org/problem?id=1125 题意:给出一个社交网络,每个人有几个别人可以传播谣言,传播谣言需要时间.问要使得谣言传播的最快,应该从那个人开始传播谣言以及使得所有 ...

  10. 自定义View 实现软键盘实现搜索

    1. xml文件中加入自定义 搜索view <com.etoury.etoury.ui.view.IconCenterEditText android:id="@+id/search_ ...