Android之长度单位px,dip,sp,dpi

屏幕分辨率dpi解析(adb 调试查看) ro.sf.lcd_density属性指定了这个机型使用的dpi多少dpi全称是dots per inch,对角线每英寸的像素点的个数。adb 查看屏幕分辨率、基准比例。 阅读详情

Android之长度单位px,dip,sp,dpi

1.关于四个单位的介绍

1.px---------像素(pixel)
比如我们的手机的分辨率是1080*2340像素,也就代表着我们的手机宽有1080个像素点,即1080像素,高有2340个像素点

2.dip(dp)-------密度无关像素(Density independent pixel)
dip就是我们在程序中应用的dp,在每英寸160px的显示器上,1dp = 1px

3.dpi-----------像素密度(Dots per Inch)
这个单位代表着我们的屏幕每英寸的像素点数,1英寸 == 2.54cm,这个单位也是我们通配符的单位,比如ldpi是120,mdpi是160,hdpi是240,xhdpi是320。
4.sp----------放大像素(scaled pixels)
与dp类似,主要用于字体显示

2.这些单位之间的关系

  1. 当屏幕的dpi=480 那么1dp = 480 / 160 = 3px

  2. 1sp = 1dp * scale
    当屏幕的字体大小为默认字体时 sacle == 1.0, 如果我们改变了系统字体的大小,这时的scale的值就会发生变化.

3.如何在程序中得到px和dp的换算比例和scale的值
  1. px和dp的换算比例
    float scaledDensity = getResources().getDisplayMetrics().scaledDensity;
    如果这个值scaledDensity得出来是2,75, 那么这个屏幕1dp = 2.75像素
  2. scale的值
    float fontScale = getResources().getConfiguration().fontScale;
    如果这个值fontScale得出来是1.5,那么这个屏幕的 1sp = 1dp * 1.5 = 1.5dp
4.如果一个宽度为wrap_content的TextView的宽度

如果你想着得到当前字体的大小乘当前文本字体的长度,那就太天真了
在这里插入图片描述

你会发现不同的字符的宽度是不一样的

正确的姿势如下

CharSequence title = getContext().getResources().getText(resId);
TextPaint paint = mTitleView.getPaint();
 float titleWidth = Layout.getDesiredWidth(title, 0, title.length(), paint);

这样就避免了不同字符集导致计算长度不准确的问题.

Android 开发中pxdpi 和 dp三个单位的介绍 最小的显示单位,用于精确控制元素大小和位置。表示屏幕每英寸的像素数,用于适配不同密度的设备。建议使用的单位,可根据设备密度进行适配,用于定义布局大小和间距。在 Android 开发中,理解和正确使用这些单位是确保应用在不同设备上良好显示和用户体验的关键。 阅读详情

相关推荐

那些值得你去细细研究的Drawable适配

一直都是在自家的盒子上开发App,很少接触到Android适配的问题。但是不得不说android严重的碎片化,对于应用开发者来说,学会android适配的是必要的。意识到自己就得不足就马上行动,而Android适配的问题太多,有屏幕尺寸的适配、屏幕分辨率的适配以及android不同系统版本的适配。反映在代码上来说,就是需要在资源文件上面下功夫,主要是layout和drawable文件目录下的文件,

王瑞刚的专栏 8958

Android studio】dp和px转换

本博文主要是对dp和px转换需求实现的一个介绍,以及记录,方便后续使用时候可以直接加载。dp和px是测量屏幕上元素大小的单位。dp(Density-independent pixel)是一种屏幕无关的单位,它表示在不同像素密度的屏幕上的一个抽象单位,这样可以保持元素的尺寸在不同设备上的一致性。在Android开发中,使用dp来定义布局和尺寸可以使得应用在不同的设备上具有更好的适应性。px(Pixel)是像素的缩写,它是屏幕上最小的可见点。

weixin_48618536的博客 3460

android dp sp px dpi dip density 之水落石出

android显示的一些单位density dpi dp(dip) sp px及分辨率的概念,对于这些单位,还在一头雾水? Come On,就是这篇文章了。 这里为了防止每个概念都是动态的,我们把px固定,即出厂了的屏幕的像素点不会变了。(屏幕像素点大小:同样的5寸屏幕,垃圾屏的像素点大,显示模糊;好屏的像素点小,显示精细)。 后面分析的前提条件都是同一块手机屏幕,px是一个定值。 放大后

shi_xin的专栏 1499

Android dp px ppi pt等概念的理解

dp、px、ppi、pt等概念的理解

u012873121的博客 3963

Android UI设计中px、pt、ppi、dpi、dp、sp之间的关系

做了几个移动端的项目之后,深感UI设计移动端尺寸换算的必要性,在此做个总结。 在photoshop cc中切图时,可直接在.png 图片图层名称前加上200%获得2倍大小的图,其他比例的切图以此类推。输出的两倍图不模糊的前提是,该图是photoshop中用形状工具画出来的未被栅格化的图形,而不是已被栅格化的图层或外部导入的图片。

金戈鐡馬 3836

ANDROIDAndroidpx dpi dip density densityDpi 的相关说明

概念解释 名词 解释 Px (Pixel像素) 不同设备显示效果相同。这里的“相同”是指像素数不会变,比如指定UI长度是100px,那不管分辨率是多少UI长度都是100px。也正是因为如此才造成了UI在小分辨率设备上被放大而失真,在大分辨率上被缩小。 Screen Size (屏幕尺寸) 一般所说的手机屏幕大小

fallenink的专栏 678

dx,dpi,dp,sp的简明区分

相信大家初学Android是经常把这几个长度单位搞混,在这我就简明的区分下方便记忆。 px:像素单位。 dpi(dot per inch): 每英寸上点的数量,用来描述屏幕的细腻程度。 dp = dip(Device Independent pixels): 设备独立像素. 不随屏幕分辨率变化。 sp(scaled pixels): 缩放像素. 随字体缩放而变化。   总之:A

★輕♀枫♂★ 专属味道 3711

Androidpx、dp、dipsp详解

众所周知,Android厂商非常多,各种尺寸的Android手机、平板层出不穷。导致了Android生态环境的碎片化现象越来越严重。Google公司为了解决分辨率过多的问题,在Android的开发文档中定义了px,dp,dip,sp,方便开发者适配不同分辨率的Android设备。

飞翔的小鸟 1万+

px、pt、ppi、dp、spdpi

先介绍下各自的定义: px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元 pt:point,点,印刷行业常用单位,等于1/72英寸 ppi:pixel per inch,每英寸像素数,该值越高,则屏幕越细腻 dpi:dot per inch,每英寸多少点,该值越高,则图片越细腻 dp:dip,Density-independent pixel, 是安卓开发...

h_bpdwn的博客 1391

px、pt、ppi、dpi、dp、sp 之间的关系

做了几个移动端的项目之后,深感移动端尺寸换算的必要性,在此做个总结。先介绍下各自的定义:px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元pt: point,点,印刷行业常用单位,等于1/72英寸ppi: pixel per inch,每英寸像素数,该值越高,则屏幕越细腻dpi: dot per inch,每英寸多少点,该值越高,则图片越细腻dp: dip,Density-indep...

luckykuku 3443

Android中的长度单位详解(dp、sppx、in、pt、mm)

<br />Android中的长度单位详解(dp、sppx、in、pt、mm)<br /><br /><br />    看到有很多网友不太理解dp、sppx的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sppx是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸)

Yao.GUET 4万+

Androidpx、dp、dipsp详解

一、简介首先要说的是,Android的碎片化的问题非常严重。因为 Android 厂商非常多,设备非常多,产生了各种各样的分辨率。为了解决碎片化的问题,Android 开发文档中定义了 dp,sp 等新的单位二、屏幕的基本知识1.mm:millmeters 毫米,长度单位2.pt:points 一个标准单位,大小为一英寸屏幕大小的1/723.px : pixel ,一个像素点 ,如手机分辨率320*

cjj821的博客 930

Android长度单位px,in,mm,pt,dp,dip,sp换算公式以及区别

转自:http://www.yourannet.com/android/px-in-mm-pt-dp-dip-sp px   :是屏幕的像素点 in    :英寸 mm :毫米 pt    :磅,1/72 英寸 dp   :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1px dip  :等同于dp sp   :同dp相似,但还会根据用户的字体大小偏好来缩放。

qaz13177_58_的专栏 1939

android中常见单位 dp,sppx,pt,in,mm,dpidip详解

android中常见单位 dp,sppx,pt,in,mm,dpidip详解1. dp dp(与密度无关的像素):长度单位,在 100 dpi 屏幕上,1dp=1px=1/100英寸。随着密度变化,对应的像素数量也变化,但并没有直接的变化比例。 dp常作为空间大小单位。 2. sp 与刻度无关的一种像素,与dp类似,但是可以根据用户的字体大小首选项进行缩放。主要用于字体显示。 3. px

看淡一切的专栏 2641

androiddipsppx区别和DPI

1、概述         过去,程序员通常以像素为单位设计计算机用户界面。例如:图片大小为80×32像素。这样处理的问题在于,如果在一个每英寸点数(dpi)更高的新显示器上运行该程序,则用户界面会显得很小。在有些情况下,用户界面可能会小到难以看清内容。由此我们采用与分辨率无关的度量单位来开发程序就能够解决这个问题。 Android应用开发支持不同的度量单位。 2、度量单位含义

vishtvro的专栏 947

Android设备 xp sp dp dip px 的换算和理解

首先先区分下xp sp dp dip ,这个很多地方都有讲。        dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。        dp: dip是一样的        px: pixels(像素). 不同设备显示效果相

Rokends的博客 2525

Androidpx dpi dip density densityDpi 的相关说明

转载自:http://www.cnblogs.com/wader2011/archive/2011/11/29/2267490.html 概念解释 名词 解释 Px (Pixel像素) 不同设备显示效果相同。这里的“相同”是指像素数不会变,比如指定UI长度是100px,那不管分辨率是多少UI长度都是100px。也正是因为如此才

DJ_Zhu@blog 789

android UI中常用的几个概念:dp,dipdpisppx,pt,ppi及它们之间的关联

当前安卓手机、平板间屏幕尺寸多种多样,4.5、4.7、5.0、5.15、5.2、5.5、5.7、6.0、6.4。。。一言以蔽之, 不要太多。 这时屏幕间适配就凸显出重要性了,而本文主旨就是为了理顺这些关系并加以适当总结,以便以后开发起来在这方面 的处理 更加得心应手。当然写这篇博文时,笔者还借鉴了一些比较不错的博客,后面会附上相应链接地址,尊重别人的劳动成果嘛~ 下面先解释标题上的几个定

zhlxuan0302的博客 838
上一篇: Android之WebView
下一篇: Android之shape标签
破晓绝世
博客等级 码龄8年 26粉丝 35原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值