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. Fibonacci sequence 求余数

    #include <iostream> using namespace std; int f(int n); int main() { int n; cin>>n; doubl ...

  2. SPRING IN ACTION 第4版笔记-第九章Securing web applications-010-拦截请求

    一. What if you wanted to restrict access to certain roles only on Tuesday? Using the access() method ...

  3. python脚本实例002- 利用requests库实现应用登录

    #! /usr/bin/python # coding:utf-8 #导入requests库 import requests #获取会话 s = requests.session() #创建登录数据 ...

  4. ISE综合后得到的RTL图如何与硬件对应起来,怎么知道每个element的功能

    2013-06-23 21:34:03 要知道“我写的这段代码会综合成什么样的电路呢”,就要搞清楚RTL图中每个模块的功能,从而将代码与硬件对应,判断综合后的电路是否与预期的一致.如何做到? 之前查了 ...

  5. 如何完全卸载VS2010

    1.首先用360卸载,当卸载完成后,提示有残余的话,就强力清除 2,接着,下载IobitUninstaller工具 3.按照下面进行卸载 1.Microsoft .NET Framework 4 框架 ...

  6. github上如何合并别人的pull request

    https://github.com/Epix37/Hearthstone-Deck-Tracker/issues/1391 I fetch the code from your repository ...

  7. 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构) (转)

    转自:http://blog.csdn.net/v_july_v/article/details/6704077 从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到 ...

  8. Spring-Data-JPA学习

    Spring-Data-JPA结构图 网址: http://blog.sina.com.cn/s/blog_667ac0360102ecsf.html

  9. foreach中引用 的问题

    在工作中遇到 关于 php foreach 引用的一个问题 简单来说,如下代码 $arr=array('a','b','c' ,'d'); foreach($arr as $k=>&$v ...

  10. POJ 1269 (直线相交) Intersecting Lines

    水题,以前总结的模板还是很好用的. #include <cstdio> #include <cmath> using namespace std; ; int dcmp(dou ...