常见屏幕分辨率对应尺寸

标屏 分辨率 比例 宽屏 分辨率 比例
QCIF 176X144 11:9      
CIF 352X288 11:9      
QVGA 320X240 4:3 WQVGA 400X240 5:3
HVGA 480X320 3:2      
VGA   640X480  4:3 WVGA  800X480   5:3
qHD   960X540  16:9      
HD/720P  1280X720   16:9      
HD+ 1600X900 16:9      
FHD/1080P   1920X1080  16:9      
FHD+  2160X1440   16:9      
 QHD 2560X1440   16:9      

 基本概念

屏幕大小:屏幕对焦线的长度,单位是英寸(inch)。

分辨率:上述表格分辨率是屏幕的高和宽的像素点数。如320x240,即高320个像素点 宽240个像素点。

屏幕密度(实际物理dpi):dpi(dots per inch), 即每英寸上的像素点数目。如屏幕大小是4,分辨率是320x240,则屏幕密度是 (√(3202+2402))/4 = 100。

系统密度(系统dpi):density, 系统中配置的 默认的固定的密度。

下面是系统密度的信息,mdpi(160)作为基准:

  ldpi mdpi hdpi xhdpi xxhdpi
系统密度 120 160 240 320 480
代表分辨率 240x320 320x480 480x800 720x1280 1080x1920
基准比例 0.75 1 1.5 2 3

各个单位的关系:dp,  px, sp

dp布局中常用的单位,px即像素点,sp常用于字体大小。

 dp与px

dp与px转换是基于系统密度的。以mdpi,160为基准的,如1dp在320x480设备上,1dp=1px; 在480x800上1dp=1.5px。

系统密度在系统中配置的属性是ro.sf.lcd_density,通过下面代码获取

Log.d( TAG, "density="+getResources().getDisplayMetrics().density
+";densityDpi="+getResources().getDisplayMetrics().densityDpi);

执行的手机(ro.sf.lcd_density=240,480x960)得到的结果

2019-09-29 10:27:52.432 5521-5521/com.flx.testfilestorage D/flx_storage: density=1.5;densityDpi=240

所以 1dp=densitypx 或者 1dp = (densityDpi/160)px

sp与px:

Android设计原则 字体尺寸使用sp,非字体尺寸使用dp。 当标准(默认)字体时,1sp=1px。

所以标准(默认)字体情况下,sp转px和dp一样,1sp=densitypx 或者 1sp = (densityDpi/160)px。

默认设置中几种字体尺寸可选择的变化值 如下(不同手机厂商可能会修改,所以不同手机可能不同):

<item>0.85</item>   //小
<item>1.0</item>   //默认
<item>1.15</item>   //大
<item>1.30</item>   //最大

  

Android_基础之分辨率的更多相关文章

  1. Android_基础控件

    目录 一.文本控件TextView 二.按钮控件Button 三.图片控件ImageView 四.输入控件EditText 一.文本控件TextView 1.布局文件 <TextView and ...

  2. 小米造最强超分辨率算法 | Fast, Accurate and Lightweight Super-Resolution with Neural Architecture Search

    本篇是基于 NAS 的图像超分辨率的文章,知名学术性自媒体 Paperweekly 在该文公布后迅速跟进,发表分析称「属于目前很火的 AutoML / Neural Architecture Sear ...

  3. Android_开源框架_AndroidUniversalImageLoader网络图片加载

    1.功能概要 Android-Universal-Image-Loader是一个开源的UI组件程序,该项目的目的是提供一个可重复使用的仪器为异步图像加载,缓存和显示. (1).使用多线程加载图片(2) ...

  4. 【Unity】4.3 地形编辑器

    分类:Unity.C#.VS2015 创建日期:2016-04-10 一.简介 Unity拥有功能完善的地形编辑器,支持以笔刷绘制的方式实时雕刻出山脉.峡谷.平原.高地等地形.Unity地形编辑器同时 ...

  5. OBS使用教程

    OBS使用教程 OBS使用教程:录屏热键的设置 视频:基础画布分辨率1920/1080 1366,768输出缩放分辨率常用FPS值 30或者60 输出:输出模式:高级录像:编码器x264码率控制 CB ...

  6. 适配方案(四)适配的基础知识之单位、分辨率、viewport

    适配的基础知识 一.理解单位 px.pt.pc.sp.em.rem.dpr.dp.dip.ppi.dpi.ldpi.mdpi.hdpi.xhdpi.xxhdpi 如果你是ios开发,你需要了解的单位: ...

  7. H5开发基础之像素、分辨率、DPI、PPI

    H5开发基础之像素.分辨率.DPI.PPI  html5  阅读约 4 分钟 ​2016-09-03于坝上草原 背景知识: 目前绝大部分显示器都是基于点阵的,通过一系列的小点排成一个大矩形,通过每个小 ...

  8. Android手机分辨率基础知识(DPI,DIP计算)三

    获得屏幕分辨率和密度,尺寸的代码片段 DisplayMetrics displayMetrics = new DisplayMetrics();getWindowManager().getDefaul ...

  9. Android手机分辨率基础知识(DPI,DIP计算)二

    dp = dip : device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不 ...

随机推荐

  1. POJ 2955 区间DP必看的括号匹配问题,经典例题

    Brackets Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14226 Accepted: 7476 Description ...

  2. ansible roles 自动化安装

    例:  ansible roles 自动化安装memcached 文件目录结构如下: cat memcached_role.yml - hosts: memcached remote_user: ro ...

  3. Codeforces 1332 D. Walk on Matrix(构造矩阵)

    怎么构造呢? \(首先我们不可能去构造一个2000*2000的矩阵,那太复杂了\) \(也许我们可以看看2*2的矩阵??\) \[\left[ \begin{matrix} x&y\\ z&a ...

  4. Maven安装本地jar包到本地仓库

    Maven 安装 JAR 包到本地仓库的命令是: mvn install:install-file -Dfile=jar包的位置 -DgroupId=上面的groupId -DartifactId=上 ...

  5. thrift的使用

    简介 thrift 原来是facebook的rpc框架,根据数据结构和接口描述生成多种语言的接口,方便使用多种语言进行开发,详细信息这里不再赘述,下文以一个简单的代码(C++)示例来介绍使用方法. 示 ...

  6. C++11之STL多线程

    STL库跨平台: VS2010不支持std::thread库,至少VS2012/2013及其以上可以: 一.库概要 (1)std::thread成员函数 thread(fun, args...); / ...

  7. band-pass filtering

    from scipy import signal # 带通滤波器 # 信号,频率下限,频率上限, 采样率 def bandPass(signals, fre_low, fre_high, fs): b ...

  8. 自动化运维工具Ansible之LNMP实践环境部署

    Ansible-实战指南-LNMP环境部署,并使用zabbix监控 主机规划 系统初始化:必要的系统初始化 基础组件包括:zabbix监控,mariadb(用于存放zabbix监控信息) 业务组件包括 ...

  9. Wpf 正常关闭程序 Gc 来不及回收?

    最近在使用Udp开发客户端,发现很长时间GC都无法回收UdpClient,所以我决定强制标记Gc,非常奇怪的是,毫无作用,在Windows任务管理器中,也看不见程序的身影.简单来说,gc是系统为你独立 ...

  10. 什么情况下不能使用 Java 泛型

    1. 前言 Java 1.5 引入了泛型来保证类型安全,防止在运行时发生类型转换异常,让类型参数化,提高了代码的可读性和重用率.但是有些情况下泛型也是不允许使用的,今天就总结一下编码中不能使用泛型的一 ...