android中常用的尺寸单位及其关系
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 获取设备分辨率
android中常用的尺寸单位及其关系的更多相关文章
- Android中常用布局单位
Android在UI布局时经常用到一些单位,对单位混用直接会影响UI的显示,要想正确的在布局中使用每种单位就必须先真正的熟悉它. UI显示效果的影响因素:屏幕尺寸.屏幕密度.分辨率:而android手 ...
- web前端开发中常用的尺寸和位置
我们在日常web前端开发过程中,会经常用到各种尺寸和位置.通常是js做动画的时候.轮播图,滚屏动画,粒子,碰撞检测,拖拽,滚动加载等等.这里我将常用的尺寸和位置的获取进行总结,不包括canvas,SV ...
- Android 系统当中各种尺寸单位的定义及使用
一,Android 各种标尺单位的含义: px:表示屏幕实际的象素.例如,320*480的屏幕在横向有320个象素,在纵向有480个象素.pt:表示一个点,是屏幕的物理尺寸.大小为1英寸的1/72.i ...
- Android中常用控件及属性
在之前的博客为大家带来了很多关于Android和jsp的介绍,本篇将为大家带来,关于Andriod中常用控件及属性的使用方法,目的方便大家遗忘时,及时复习参考.好了废话不多讲,现在开始我们本篇内容的介 ...
- android 中的 window,view,activity具体关系
通过讨论这个问题,我们能够见识到google是对面向对象模式的理解,能够理解android底层的一些调用.这也是一道很常见的面试题. 我们这篇文章就来解决这四个问题: Android 中view的显 ...
- android中常用的布局管理器
Android中的几种常用的布局,主要介绍内容有: View视图 RelativeLayout 相对布局管理器 LinearLayout 线性布局管理器 FrameLayout ...
- Android中常用的布局
一般分为5大类. Android中所有的空间第一字母都是大写 1.线性布局 LinearLayout 2.相对布局 RelativeLayout 3.帧布局--分层显示 FrameLayout 4. ...
- android中常用的弹出提示框
转自:http://blog.csdn.net/centralperk/article/details/7493731 我们在平时做开发的时候,免不了会用到各种各样的对话框,相信有过其他平台开发经验的 ...
- Android中常用单位dp,px,sp之间的相互转换
MainActivity如下: package cc.testunitswitch; import android.os.Bundle; import android.util.DisplayMetr ...
随机推荐
- Fibonacci sequence 求余数
#include <iostream> using namespace std; int f(int n); int main() { int n; cin>>n; doubl ...
- 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 ...
- python脚本实例002- 利用requests库实现应用登录
#! /usr/bin/python # coding:utf-8 #导入requests库 import requests #获取会话 s = requests.session() #创建登录数据 ...
- ISE综合后得到的RTL图如何与硬件对应起来,怎么知道每个element的功能
2013-06-23 21:34:03 要知道“我写的这段代码会综合成什么样的电路呢”,就要搞清楚RTL图中每个模块的功能,从而将代码与硬件对应,判断综合后的电路是否与预期的一致.如何做到? 之前查了 ...
- 如何完全卸载VS2010
1.首先用360卸载,当卸载完成后,提示有残余的话,就强力清除 2,接着,下载IobitUninstaller工具 3.按照下面进行卸载 1.Microsoft .NET Framework 4 框架 ...
- github上如何合并别人的pull request
https://github.com/Epix37/Hearthstone-Deck-Tracker/issues/1391 I fetch the code from your repository ...
- 从Hadoop框架与MapReduce模式中谈海量数据处理(含淘宝技术架构) (转)
转自:http://blog.csdn.net/v_july_v/article/details/6704077 从hadoop框架与MapReduce模式中谈海量数据处理 前言 几周前,当我最初听到 ...
- Spring-Data-JPA学习
Spring-Data-JPA结构图 网址: http://blog.sina.com.cn/s/blog_667ac0360102ecsf.html
- foreach中引用 的问题
在工作中遇到 关于 php foreach 引用的一个问题 简单来说,如下代码 $arr=array('a','b','c' ,'d'); foreach($arr as $k=>&$v ...
- POJ 1269 (直线相交) Intersecting Lines
水题,以前总结的模板还是很好用的. #include <cstdio> #include <cmath> using namespace std; ; int dcmp(dou ...