px、dip、sp区别和使用方法

UE5 VlcMedia 插件编译与流媒体播放实战 本文详细介绍了在虚幻引擎5中编译并集成VlcMedia插件以解决流媒体播放难题的实战指南。针对UE5不再默认支持Win32 API导致的编译错误,文章提供了核心的构建配置文件修改步骤,并指导如何启用插件、创建VLC媒体播放器,最终成功播放如.m3u8等格式的网络直播流或点播视频。 阅读详情

一、  概述

我们在页面布局的时候,经常会设置容器的长度,但是到底该使用哪个作为长度的单位而懊恼。

在Android中支持的描述大小区域的类型有以下几种。

px(pixels)——像素:不同的设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。

dip(device independent pixels)——设备独立像素:这个和设备硬件有关,一般哦我们为了支持WCGA、HVGA和QVGA推荐使用这个,不依赖于像素。等同于dp。

sp(scaled pixels—best for text size)——带比例的像素。

pt(points)——磅:1pt = 1/72英寸

in(inches)——英寸

mm(millimeters)——毫米

二、  详解

sp由于是放大像素,主要是用于字体显示,由此根据google的建议,TextView的字体大小最好用sp做单位,而且查看TextView的源码可知Android默认使用水平作为字号单位。

在Android中最常用到的还是px和dip。但是这两个之间到底有什么区别呢?

在HVGA屏density=160;QVGA屏density=120;WVGA屏density=240;WQVGA屏density=120 density值表示每英寸有多少个显示点,与分辨率是两个概念。不同density下屏幕分辨率信息,以480dip*800dip的WVGA(density=240)为例。

density=120时 屏幕实际分辨率为240px*400px (两个点对应一个分辨率) 
状态栏和标题栏高各19px或者25dip 
横屏是屏幕宽度400px 或者800dip,工作区域高度211px或者480dip 
竖屏时屏幕宽度240px或者480dip,工作区域高度381px或者775dip

density=160时 屏幕实际分辨率为320px*533px (3个点对应两个分辨率) 
状态栏和标题栏高个25px或者25dip 
横屏是屏幕宽度533px 或者800dip,工作区域高度295px或者480dip 
竖屏时屏幕宽度320px或者480dip,工作区域高度508px或者775dip

density=240时 屏幕实际分辨率为480px*800px (一个点对于一个分辨率) 
状态栏和标题栏高个38px或者25dip 
横屏是屏幕宽度800px 或者800dip,工作区域高度442px或者480dip 
竖屏时屏幕宽度480px或者480dip,工作区域高度762px或者775dip

apk的资源包中,当屏幕density=240时使用hdpi 标签的资源 
当屏幕density=160时,使用mdpi标签的资源 
当屏幕density=120时,使用ldpi标签的资源。 
不加任何标签的资源是各种分辨率情况下共用的。

**************************************************************************************************

引用 Android上dip、dp、px、sp等单位说明

本文引用自shixin20051108《Android上dip、dp、px、sp等单位说明》

[ dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 
px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 
pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; 
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。 
========================= 
关于换算(以 sp 和 pt 为例) 
查看 TextView 等类的源码,可知: 
case COMPLEX_UNIT_PX: 
return value; 
case COMPLEX_UNIT_SP: 
return value * metrics.scaledDensity; 
case COMPLEX_UNIT_PT: 
return value * metrics.xdpi * (1.0f/72); 
-------------------------- 
scaledDensity = DENSITY_DEVICE / (float) DENSITY_DEFAULT; 
xdpi = DENSITY_DEVICE; 
-------------------------- 
DENSITY_DEFAULT = DENSITY_MEDIUM = 160; 
============================================ 
所以: 假设 pt 和 sp 取相同的值 1,则可设 1pt 和 1sp 之间系数为 x, 
1 * DENSITY_DEVICE / 72 = x * 1 * DENSITY_DEVICE / 160 => 
x = 160 / 72 = 2.2222 
也就是说在 Android 中, 1pt 大概等于 2.22sp 
=================================================================== 
什么是Dip和Sp 
过去,程序员通常以像素为单位设计计算机用户界面。例如,定义一个宽度为300像素的表单字段,列之间的间距为5个像素,图标大小为16×16像素等。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。 
与分辨率无关的度量单位可以解决这一问题。Android支持下列所有单位。 
px(像素):屏幕上的点。 
in(英寸):长度单位。 
mm(毫米):长度单位。 
pt(磅):1/72英寸。 
dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。 
dip:与dp相同,多用于android/ophone示例中。 
sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。 
为了使用户界面能够在现在和将来的显示器类型上正常显示,建议大家始终使用sp作为文字大小的单位,将dip作为其他元素的单位。当然,也可以考虑使用矢量图形,而不是用位图

********************************************************************* 
dip: device independent pixels(设备独立像素).
 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 
px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 
pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; 
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。由此,根据 google 的建议,TextView 的 
字号最好使用 sp 做单位,而且查看TextView的源码可知 Android 默认使用 sp 作为字号单位。 
在 Android 中,  1pt 大概等于 2.22sp以上供参考,如果 UI 能够以 sp 为单位提供设计是最好的,如果设计中没有 sp的概念,则开发人员也可以通过适当的换算取近似值。 
过去,程序员通常以像素为单位设计计算机用户界面。例如,定义一个宽度为300像素的表单字段,列之间的间距为5个像素,图标大小为16×16像素等。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。 
与分辨率无关的度量单位可以解决这一问题。Android支持下列所有单位。 
px(像素):屏幕上的点。 
in(英寸):长度单位。 
mm(毫米):长度单位。 
pt(磅):1/72英寸。 
dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。 
dip:与dp相同,多用于android/ophone示例中。 
sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。 
分辨率:整个屏是多少点,比如800x480,它是对于软件来说的显示单位,以px为单位的点。 density(密度)值表示每英寸有多少个显示点,与分辨率是两个概念。apk的资源包中, 
当屏幕density=240时使用hdpi标签的资源 
当屏幕density=160时,使用mdpi标签的资源 
当屏幕density=120时,使用ldpi标签的资源。 
一般android设置长度和宽度多用dip,设置字体大小多用sp. 在屏幕密度为160,1dp=1px=1dip, 1pt = 160/72 sp 1pt = 1/72 英寸.当屏幕密度为240时,1dp=1dip=1.5px. 
为了使用户界面能够在现在和将来的显示器类型上正常显示,建议大家始终使用sp作为文字大小的单位,将dip作为其他元素的单位。当然,也可以考虑使用矢量图形,而不是用位图。


MATLAB图像去噪实战:如何用巴特沃斯滤波器完美去除横条纹(附完整代码) 本文详细介绍了如何使用MATLAB中的巴特沃斯滤波器有效去除图像中的横条纹噪声。通过频域分析和滤波处理,结合完整的代码示例,帮助读者掌握从噪声分析到参数优化的全流程技术,实现高质量的图像去噪效果。 阅读详情

相关推荐

小白的MatSWMM使用心路(二)——用matlab修改INP文件参数/使用matlab查找txt内容并修改多行内容

说是修改inp,但是里面的内容大部分还是讲怎么修改txt的……(?)。包含如何找到需要的参数(关键字)位置,以及修改那个位置的txt这样的内容。希望能帮助大家吧……Matlab你要多出好用的功能啊!

weixin_44276743的博客 4530

android px sp dip,Android度量单位说明(DIP,DP,PX,SP)

(一)概念dip: device independent pixels(设备独立像素).不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单...

weixin_29521249的博客 513

双目立体成像(一)双目图片生成点云

利用左右目图片生成点云

qq_62964142的博客 4554

px、分辨率、dpi、密度、dip之间的区别

屏幕上的物理像素点,是显示的最小单位。屏幕的像素总数,通常表示为宽度 × 高度(如1920x1080每英寸的像素点数,用于衡量屏幕的像素密度。屏幕像素密度的抽象概念,通常指与基准密度(160dpi)的比例。与密度无关的虚拟像素单位,Android 推荐使用的布局单位。概念描述示例/公式用途px物理像素点直接对应屏幕像素不推荐直接用于布局分辨率屏幕总像素数(宽×高)1920x1080描述屏幕精细度dpi每英寸像素数(实际密度)160dpi(mdpi)资源适配的依据密度比例相对于。

asdurt的博客 2473

人形机器人人机交互解决方案(2026完整版)

《人形机器人人机交互解决方案(2026完整版)》摘要 本项目针对2026年人形机器人产业爆发式增长需求,提出了一套完整的人机交互解决方案。方案包含十大核心模块(语音识别、情感识别、手势识别等),采用五层架构设计,实现多模态融合交互,响应时间≤32ms,准确率≥99%。覆盖制造业巡检、家庭服务等10大场景,适配20+主流机型。项目总投资4.1亿元,预期年营收8.2亿元,将申请专利120项,培养专业人才300人。通过技术创新解决当前交互体验生硬、安全可控性不足等痛点,助力我国人形机器人产业实现从"跟跑

随读手记 776

深入C6678启动流程:从BootRom参数表到多核镜像部署的完整解析

本文深入解析TMS320C6678 DSP的启动流程,从BootRom参数表到多核镜像部署的全过程。详细介绍了七种启动模式的工程选择、多核镜像构建技巧以及二级引导策略,帮助开发者掌握C6678的启动机制与调试方法,提升嵌入式系统开发效率。

weixin_30505225的博客 613

px、dip、dp和sp有什么区别?

测量单位 px、dip、dp 和 sp 之间有什么区别?

HuntsBot的博客 2201

华为 MetaERP 通过元数据驱动的多组织架构 + 内部交易协同 + 自动对账引擎 + 合并规则引擎,实现多组织内部往来与合并报表的全流程自动抵消,核心是源头标准化、过程自动化、结果可追溯

摘要: 华为MetaERP通过元数据驱动的多组织架构与主数据标准化,实现内部往来与合并报表全流程自动化。其核心包括:统一组织模型与主数据(确保数据口径一致)、内部交易协同(自动生成对称凭证)、智能对账引擎(多维度自动匹配差异)、合并规则引擎(配置化抵消模板)。依托GaussDB高性能数据库与流批一体架构,华为全球88家子公司合并报表效率提升400%,关账时间缩短至2小时,支持多准则、多币种自动抵消,审计全程可追溯。相比传统ERP,MetaERP在协同性、自动化与扩展性上优势显著,为跨国集团提供高效、准确的合

金牌架构师 264

什么是dp,dip,sp和px及他们之间的的关系?《二》

前言 首先要说的是,Android的碎片化的问题非常严重。因为 Android厂商非常多,设备非常多,产生了各种各样的分辨率。 为了解决碎片化的问题,Android 开发文档中定义了 dp,sp 等新的单位 相关概念 dip: device independent pixels(设备独立像素) 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和

这个时代,作为程序员可能要学习小程序 2984

基于MATLAB的多无人机多任务调度算法——CBBA带时间窗

本文将介绍基于MATLAB的CBBA算法,并对其进行改进,加入时间窗概念,以提高多无人机系统的调度效率和性能。时间窗用于限定任务的执行时间范围,以避免任务执行时间过长或过短导致的问题。具体而言,我们为每个任务设置一个允许的最早开始时间和最晚结束时间,并在任务分配的过程中考虑这些时间约束。在多无人机系统中,需要将若干个任务分配给不同的无人机完成,以实现高效的任务执行。以上是关于基于MATLAB的多无人机多任务调度算法CBBA带时间窗的简要介绍和源代码实现。多无人机系统的调度问题。

BUG?不存在的! 1899

YOLOv11的代数不变量解释:Syzygy模分析特征重要性,用交换代数揭示卷积核的语义相关性

本文提出了一种基于代数几何与交换代数的创新方法,特别是运用Syzygy模理论,对YOLOv11目标检测算法的卷积核语义相关性进行数学解释。研究揭示了YOLO系列算法演进背后的代数结构特征,建立了网络组件与多项式环、理想簇等代数概念的对应关系。通过构建分层的准同构代数系统,分析了YOLOv11在不同尺度下保持语义不变性的数学本质。文章系统阐述了Syzygy模在CNN特征冗余分析、跨层依赖关系建模和语义聚类中的应用,并提出了适用于动态稀疏训练的改进算法。该理论框架为深度神经网络的解释性研究提供了新的数学工具,同

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1274

android中 px、dip、sp区别和使用方法

原文地址:http://www.cnblogs.com/warioland/archive/2011/10/17/2215110.html 一、  概述 我们在页面布局的时候,经常会设置容器的长度,但是到底该使用哪个作为长度的单位而懊恼。 在Android中支持的描述大小区域的类型有以下几种。 px(pixels)——像素:不同的设备显示效果相同,一般我们HVG

a503200877的专栏 687

基于YOLOv8和时序模型的异常动作检测系统

异常动作检测是计算机视觉领域的重要应用,广泛应用于智能监控、安防系统、老人看护等场景。本项目结合YOLOv8目标检测和LSTM时序模型,实现对打架、摔倒、奔跑等异常动作的实时检测,并提供了完整的Web界面。多技术融合: 结合YOLOv8目标检测和LSTM时序建模实时检测: 支持实时视频流处理和文件分析用户友好: 提供完整的Web界面可扩展性: 模块化设计便于功能扩展高性能: 包含多种优化策略。

YOLO 764

Android中dip, dp, px, sp之间的区别

参考:http://qing.weibo.com/tj/6fbad9d533000g6b.html   Andorid.util包下的DisplayMetrics类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。 通过DisplayMetrics的toString()方法可以获取到DisplayMetrics的大部分fields信息,如下是在分辨率为480x320情况下的一些输出信息...

willsunforitcast的博客 144

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

px,in,mm,pt,dp,dip,sp 之间的换算公式以及区别

px   :是屏幕的像素点 in    :英寸 mm :毫米 pt    :磅,1/72 英寸 dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px dip  :等同于dp sp   :同dp相似,但还会根据用户的字体大小偏好来缩放。 建议使用sp作为文本的单位,其它用dip 针对dip和px 的关系,做以下概述: QVGA屏density

点滴技术在于分享,我们一起携手进步,共同创新! 1万+

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释

px(Pixels ,像素):对应屏幕上的实际像素点。 in(Inches ,英寸):屏幕物理长度单位。 mm(Millimeters ,毫米):屏幕物理长度单位。 pt(Points ,磅):屏幕物理长度单位,1/72英寸。 dp(与密度无关的像素):逻辑长度单位,在 160 dpi 屏幕上,1dp=1px=1/160英寸。随着密度变化,对应的像素数量也变化,但并没有直接的变化比例。

xxxsz的专栏 3334

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

上一篇: Android线程优先级
下一篇: 避免启动Activity时出现白色闪屏问题
闲暇部落
博客等级 码龄12年 2779粉丝 215原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

闲暇部落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值