px,dp和sp,这些单位有什么区别

2023-12-05 09:52:57
共1条回复
黑桃花

偶尔用到px的情况,是需要画1像素表格线或阴影线的时候,用其他单位如dp会显得模糊。

dp:

这个是最常用但也最难理解的尺寸单位。它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度,像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量。横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。

不同的手机/平板可能具有不同的像素密度,例如同为4寸手机,有480x320分辨率的也有800x480分辨率的,前者的像素密度就比较低。Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它们对应的dp到px的系数分别为0.75、1、1.5和2,这个系数乘以dp长度就是像素数。例如界面上有一个长度为“80dp”的图片,那么它在240dpi的手机上实际显示为80x1.5=120px,在320dpi的手机上实际显示为80x2=160px。如果你拿这两部手机放在一起对比,会发现这个图片的物理尺寸“差不多”,这就是使用dp作为单位的效果,见下图。

更新20140701: 是不是所有android手机的屏幕宽度用dp衡量都是固定值(例如320dp)呢?答案是否定的,如果写一个程序画宽度等于320dp的横线,在不同手机上运行,会发现在有些手机上横线比手机屏幕短,有些则比屏幕长,在平板上与手机上相比差别则更加明显。

dip:

与dp完全相同,只是名字不同而已。在早期的Android版本里多使用dip,后来为了与sp统一就建议使用dp这个名字了。

sp:

与缩放无关的抽象像素(Scale-independent Pixel)。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。

还有几个比较少用到的尺寸单位:

mm:

即毫米;

in:

即英寸,1英寸=2.54厘米(约);

pt:

1pt=1/72英寸=0.035厘米;

最佳实践,文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位。例如textSize="16sp"、layout_width="60dp";偶尔需要使用px单位,例如需要在屏幕上画一条细的分隔线时:

<View layout_width="match_parent" layout_height="1px"/>

最后,推荐一张Android UI设计参考图:Android Design Cheat Sheet

参考资料:

Difference of px, dp, dip and sp in Android?

Supporting Multiple Screens

DisplayMetrics

如果觉得本文内容有帮助:试试我开发的Android应用 应用计时 或 推荐+1(需登录)

相关推荐

dp是什么单位?

dp和px的换算公式 :dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。dp也就是dip:device independent pixels(设备独立像素)。dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp = 1px。px(像素):屏幕上的点。
2023-12-04 16:24:021

像素px、分辨率、ppi、dpi、dp(dip)

屏幕尺寸(Screen Size): 屏幕对角线的长度。iPhone5屏幕尺寸为4英寸、iPhone6屏幕尺寸为4.7英寸,指的是显示屏对角线的长度。 1 inch = 2.54cm = 25.4mm 分辨率:屏幕上的像素总数。常用的表现形式如:1280x720, 1920x1080等。 px,pixel,像素,电子屏幕上组成一幅图画或image的基本单元。 pt, point,点,印刷行业常用单位,等于1/72英寸。 ppi,pixel per inch,每英寸像素数,值越高,屏幕越细腻。 dpi, dot per inch,每英寸多少点,该值越高,则图片越细腻。 dp,dip, Density-independent pixel,安卓开发用的长度单位。以160ppi为标准,和iPhone的scale差不多的意思。安卓用dp适配,系统会自动将dp转换为px。当屏幕像素点密度为160ppi时,1dp=1px。 当图片的分辨率是72ppi(dpi)时,1pt = 1px; 当图片的分辨率是72*2ppi(dpi)时,1pt = 2px; dpi最初用于衡量打印物上每英寸的点数密度,DPI值越大图片越精细。当DPI的概念用在计算机屏幕上时,就应称之为ppi。同理: PPI就是计算机屏幕上每英寸可以显示的像素点的数量。在电子屏幕显示中ppi和dpi是一样的。 假设屏幕分辨率为W H(px),物理尺寸为a b(inch), 则我们常说的屏幕尺寸c(如5.0英寸)其实是对角线的长度,因此 则像素密度(PPI),指的是屏幕单位长度的像素数 由此我们推理出: 因此我们可以得出PPI( DPI)计算公式: dp,独立像素,虚拟单位,又称设备无关像素。1dp的长度相当于一个160dpi的屏幕上一个物理像素的长度。而160dpi的屏幕则是被android定义为基准的屏幕(mdpi)。在app运行的时候,android会将dp转为实际像素进行布局。转换的公式为: px = dp * (dpi / 160)。 dp为安卓开发时的基本长度单位,根据不同的屏幕分辨率,与px有不同的对应关系。根据其像素密度,我们将安卓端屏幕分为以下几种规格: 1dp即为当屏幕密度值为160ppi时,1pt=1px。则,在上表中,当密度为mdpi时,1dp = 1px。 以mdpi为标准,上表中屏幕的密度值比分别为: 即,在xhdpi的密度下,1dp=2px;在hdpi情况下,1dp=1.5px。其他类推。
2023-12-04 16:24:591

1dp 等于多少PX

不能换算,dp和px不是同类型的数量单位。1、dpDP,全称device independent pixels,中文是设备独立像素,是长度单位。DP在不同设备有不同的显示效果,这个和设备硬件有关。2、pxPX是Pixel的缩写,中文是像素,是指基本原色素及其灰度的基本编码,由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调。像素的大小是会“变”的,也称为“相对长度”。越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。扩展资料:设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。参考资料来源:百度百科——DP参考资料来源:百度百科——PX
2023-12-04 16:25:082

24dp是多少像素

3840。dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:在320x480分辨率,像素密度为160,1dp=1px在480x800分辨率,像素密度为240,1dp=1.5px计算公式:1dp像素密度/160=实际像素数。像素是影像显示的基本单位。在整个图像中,可以将像素看做以一个颜色单一并且不能再分割成更小元素或单位的小格,单位面积内的像素越多代表分辨率越高,所显示的影像就越清晰。
2023-12-04 16:25:241

1dp 等于多少PX

不能换算,dp和px不是同类型的数量单位。1、dpDP,全称device independent pixels,中文是设备独立像素,是长度单位。DP在不同设备有不同的显示效果,这个和设备硬件有关。2、pxPX是Pixel的缩写,中文是像素,是指基本原色素及其灰度的基本编码,由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调。像素的大小是会“变”的,也称为“相对长度”。越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。扩展资料:设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。参考资料来源:百度百科——DP参考资料来源:百度百科——PX
2023-12-04 16:25:332

120dpi时1dp等于多少像素

10。像素是指由图像的小方格组成的,这些小方块都有一个明确的位置和被分配的色彩数值,小方格颜色和位置就决定该图像所呈现出来的样子。可以将像素视为整个图像中不可分割的单位或者是元素。不可分割的意思是它不能够再切割成更小单位抑或是元素,它是以一个单一颜色的小格存在。每一个点阵图像包含了一定量的像素,这些像素决定图像在屏幕上所呈现的大小。
2023-12-04 16:25:491

1dp什么意思

长度单位(设备独立像素)。在android系统中单位DP也就是DIP:device independent pixels(设备独立像素). dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。 px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。 pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用; sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。 dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320
2023-12-04 16:25:551

Android中分辨率,DPI,DP与PX对应关系

分辨率就是手机屏幕的像素点数。一般为屏幕的“宽×高”,例如分辨率有720×1280的手机设备,表示此屏幕在宽度方向有720个像素点,在高度方向有1280个像素点。 按屏幕对角测量的实际物理尺寸。为简便起见,Android 将所有实际屏幕尺寸分组为四种通用尺寸:小、 正常、大和超大,以英寸(inch)为单位。例如有个5寸的手机设备,是指对角线的尺寸,5寸×2.54厘米/寸=12.7厘米。 就是每英寸的像素点数,数值越高当然显示越清晰,通常 与“正常”或“高”密度屏幕相比,“低”密度屏幕在给定物理区域的像素较少。 在定义 UI 布局时应使用的虚拟像素单位,用于以密度无关方式表示布局维度 或位置。 密度无关像素等于 160 dpi 屏幕上的一个物理像素,这是 系统为“中”密度屏幕假设的基线密度。在运行时,系统 根据使用中屏幕的实际密度按需要以透明方式处理 dp 单位的任何缩放 。dp 单位转换为屏幕像素很简单: px = dp * (dpi / 160)。 例如,在 240 dpi 屏幕上,1 dp 等于 1.5 物理像素。在定义应用的 UI 时应始终使用 dp 单位 ,以确保在不同密度的屏幕上正常显示 UI。 大多数情况下,确保应用中的屏幕独立性很简单,只需以适当的密度独立像素( dp 单位)或 "wrap_content" 指定所有 布局尺寸值。系统然后根据适用于当前屏幕密度的缩放比例适当地缩放位图可绘制对象,以 适当的大小显示。如上表所示,现在我们在mdpi下设计了一个48x48的应用图标,那么在ldip下大小缩小0.75倍为36x36,在hdip下放大1.5倍为72x72,在xhdpi下放大2倍为96x96,在xxhdpi下放大3倍为144x144,在xxxhdpi下放大4倍为192x192. android对于不同dpi设备提供了5个目录存放图片,使开发人员根据实际需要对图片适配。一般情况需要UI根据一种DPI密度、或分辨率的设备设计UI,根据不同dpi的比例出图,一般需要xhdpi、xxhdpi两套图,即2x、3x图。 计算相关公式: px = dpValue * density + 0.5f; dp = pxValue / density + 0.5f;
2023-12-04 16:26:021

px是像素的意思吗?

是。px:pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元。1dp定义为屏幕密度值为160ppi时的1px,即,在mdpi时,1dp = 1px。 以mdpi为标准,这些屏幕的密度值比为:ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3;即,在xhdpi的密度下,1dp=2px;在hdpi情况下,1dp=1.5px。其他类推。ppi和dpidpi最初用于衡量打印物上每英寸的点数密度。DPI值越小图片越不精细。当DPI的概念用在计算机屏幕上时,就应称之为ppi。同理: PPI就是计算机屏幕上每英寸可以显示的像素点的数量。因此,在电子屏幕显示中提到的ppi和dpi是一样的。ppi是指屏幕上的像素密度,其计算方法为:公式三: ppi= 屏幕对角线上的像素点数/对角线长度 = √ (屏幕横向像素点^2 + 屏幕纵向像素点^2)/对角线长度。以小米2s为例,该屏幕分辨率为720px*1280px,4.3英寸。则点密度为 √ (720^2 +1280^2) /4.3 = 342ppi。
2023-12-04 16:26:221

app启动图标设计规范-技术干货:ApplewatchAPP设计规范

androidapp界面设计规范(dpi,dp,px等)PPI(Pixelsperinch):每英寸所拥有的像素数,即像素密度。DPI(dotsperinch):即每英寸上,所能印刷的网点数,一般称为像素密度。ppi计算公式:ppi=屏幕对角线像素数/屏幕对角线英寸数,通过勾股定理计算屏幕对角线像素数。ScreenSize(屏幕尺寸):手机屏幕尺寸大小,如3英寸、4英寸、4.3英寸、5.7英寸,指的是对角线的长度。DIP(deviceindependentpixel):即dip/dp,设备独立像素。1px=1dpdensity(由dpi决定)Resolution(分辨率):指手机屏幕垂直和水平方向上的像素个数。eg分辨率480800,指该设备垂直方向有800个像素点,水平方向有480个像素点。px(Pixel像素):相同像素的ui,在不同分辨率的设备上效果不同。在小分辨率设备上会放大导致失真,大分辨率上被缩小。AndroidDesign里把主流设备的dpi归成了四个档次:120dpi、160dpi、240dpi、320dpi,具体见如下表格。实际开发当中,我们经常需要对这几个尺寸进行相互转换(比如先在某个分辨率下完成设计,然后缩放到其他尺寸微调后输出),一般按照dpi之间的比例即2:1.5:1:0.75来给界面中的元素来进行尺寸定义。也就是说如果以160dpi作为基准的话,只要尺寸的DP是4的公倍数,XHDPI下乘以2,HDPI下乘以1.5,LDPI下乘以0.75即可满足所有尺寸下都是整数pixel。但假设以240dpi作为标准,那需要DP是3的公倍数,XHDPI下乘以1.333,MDPI下乘以0.666,LDPI下除以2。而以LDPI和XHDPI为基准就更复杂了。同时第一款Android设备(HTC的T-MobileG1)是属于160dpi的。鉴于以上各种原因,标准dpi=160谷歌官方对dp的解释如下:AvirtualpixelunitthatyoushouldusewhendefiningUIlayout,toexpresslayoutdimensionsorpositioninadensity-independentway.Thedensity-independentpixelisequivalenttoonephysicalpixelona160dpiscreen,whichisthebaselinedensityassumedbythesystemfora"medium"densityscreen.Atruntime,thesystemtransparentlyhandlesanyscalingofthedpunits,asnecessary,basedontheactualdensityofthescreeninuse.Theconversionofdpunitstoscreenpixelsissimple:px=dp*(dpi/160).Forexample,ona240dpiscreen,1dpequals1.5physicalpixels.Youshouldalwaysusedpunitswhendefiningyourapplication"sUI,toensureproperdisplayofyourUIonscreenswithdifferentdensities.简单来说,以160dpi的设备为准,该设备上1dp=1px;如果屏幕密度大,1dip代表的px就多,比如在320dpi的屏幕上,1dip=2px(即1dp代表2个像素)。在app开发时,最好用dp来做界面的布局,以保证适配不同屏幕密度的手机。dp和px的换算公式:我的理解,该公式表示px的数值等于dp的数值*(设备dpi/160)注意,px、dp是单位,但density没单位。applyDimension的源码如下,可参考:android的尺寸众多,建议使用分辨率为720x1280的尺寸设计。这个尺寸720x1280中显示完美,在1080x1920中看起来也比较清晰;切图后的图片文件大小也适中,应用的内存消耗也不会过高。app启动图标为48*48dp,对应各dpi设备,图像资源像素如下:|mdpi|hdpi|xhdpi|xxhdpi||---:|---:|---:|---:|---:||4848px|7272px|9496px|144px144px|操作栏图标为32*32dp,对应各dpi设备,图像资源像素如下:其中图形区域尺寸是24*24dp,可参考平时ui切图会有部分留白。|mdpi|hdpi|xhdpi|xxhdpi||---:|---:|---:|---:|---:||3232px|4848px|6464px|96px96px|通知栏图标为24*24dp,对应各dpi设备,图标像素如下:|mdpi|hdpi|xhdpi|xxhdpi||---:|---:|---:|---:|---:||2424px|3636px|4848px|72px72px|某些场景需要用到小图标,大小应当是16*16dp,其中图形区域尺寸12*12dp。|mdpi|hdpi|xhdpi|xxhdpi||---:|---:|---:|---:|---:||1616px|2424px|3232px|48px48px|APP界面标注及切图注意事项一、App屏幕适配通用知识简介1.标注时注意事项一般情况要定位一个Icon只需给出上/下边距,左/右边距标注图标距离只需标到可点击范围外通用型颜色、字体单独标明一份通用型模块只需单独标明一份,如导航栏手机可视区域一般为宽度固定,长度超出边界可滑动,所以,标注物体宽度时可按比例说明如果要标注内容上下居中,左右居中,或等比可不标注当绘制的是一个列表时且每一条内容一样时,只需标注一条,如果每条内容有少许不同时,只需标明差异____糠当交付的是一张完整图片时,不需做机型适配,只需给高清图(1920*1080)即可,注意进行压缩当背景是纯色时只需给出色值(iOS使用RGB色值,Android使用16进制色值)图标应给出可点击区域若图标在不同页面重复出现,且尺寸相差不大,直接给出最大一份切图,并在圆形图标明尺寸,程序会根据需求缩放可点击按钮通常要给出两种状态:普通/点击(选中)按钮如果只是矩形、圆角矩形、圆形、椭圆形,给出尺寸和色值,可程序设置渐变效果可通过程序实现,只需给出起始和结束色值跟范围2.切图命名规范背景:bg_按钮:btn_xxx_图片:img_标签:tab_图标:icon_照片:pht_导航:nav_图示:tip_菜单:menu_侧栏:sidebar_二、iOS应用屏幕适配1.iOS究竟要是适配多少种机型,以哪款机型分辨率作为设计尺寸最好2016-3iOS只需兼容iPhone4,完美兼容iphone5以上机型如果按矢量图制作设计图按1X尺寸作图,后期放大成2X、3X;如果按传统的px作图应用最大尺寸(3X)作为画布。以3X作为画布(1242*2208)难记且不能整除,我们可直接以1280(640*2)作为宽度,完美缩放为1X、2X;2X->3X以1.5来算尺寸和字号可得到较好效果2.界面尺寸设备分辨率状态栏高度导航栏高度标签栏高度iPhone6plus1242*2208px60px132px146pxiPhone6750*1334px40px88px98pxiPhone5/5s/5c640*1136px40px88px98pxiPhone4/4s640*960px40px88px98pxiPad3/4/Air/Air2/mini22048*1536px40px88px98pxiPad1/21024*768px20px44px49pxiPadmini1024*768px20px44px49px导航栏背景图中,如果考虑状态栏背景,则背景图尺寸为导航栏px+状态栏px,如果只改变导航栏颜色则只需要导航栏px3.图标尺寸设备AppStore程序应用主屏幕spotlight搜索标签栏工具栏和导航栏iPhone6plus1024*1024px180*180px144*144px87*87px75*75px66*66pxiPhone61024*1024px120*120px144*144px58*58px75*75px44*44pxiPhone5/5s/5c1024*1024px120*120px144*144px58*58px75*75px44*44pxiPhone4/4s1024*1024px120*120px144*144px58*58px75*75px44*44pxiPad3/4/Air/Air2/mini21024*1024px180*180px144*144px100*100px50*50px44*44pxiPad1/21024*1024px90*90px72*72px50*50px25*25px22*22pxiPadmini1024*1024px90*90px72*72px50*50px25*25px22*22px按钮切图建议以等宽高尺寸切图,且像素必须>=88、*88px,当本身图片宽度或高度不足时,补充空白像素(透明像素).一般情况下,只需要普通状态下按钮切图即可(适配不建议等比放大)4.参考文献友盟设备指数APP切图流程和APP切图命名规范详细完整版APP切图详细规范终极指南iOS和Android的app界面设计规范APP界面切图命名和文件整理规范三、Android应用屏幕适配1.用px作为基础单位的缺陷对比上图可以知道,ppi越低图片显示的越大,ppi越高图片显示的越小,造成不同手机上显示图片布局不统一!使用dp作为单位所有机子显示统一2.衡量一个屏幕清晰度单位————屏幕密度(dpi==ppi)计算公式:屏幕dpi=√(屏幕长^2+屏幕宽^2)/屏幕尺寸名称密度代表分辨率Android单位与像素换算mdpi120dpi~160dpi320*4801dp=1pxhdpi160dpi~240dpi480*8001dp=1.5pxxhdpi240dpi~320dpi720*12801dp=2pxxxhdpi320dpi~480dpi720*1280/1080*19201dp=3pxxxxhdpi480dpi~640dpi2k~4k1dp=4px屏幕大小启动图标操作栏图标上下文图标系统通知图标(白色)最细笔画320*480px48*48px32*32px16*16px24*24px不小于2px480*800px/480×854px/540×960px72*72px48*48px24*24px36*36px不小于3px720*1280px96*96px64*64px32*32px48*48px不小于4px1080*1920px144*144px96*96px48*48px72*72px不小于6px3.究竟要适配多少种机型2016-3得出结论:只需适配高端的xxhdpi(720*1280/1080*1920),低端的hdpi(480*800)4.度量单位与边框可触摸控件都是以48dp为单位的为什么是48dp?一般情况下,48dp在设备上的物理大小是9mm(会有一些变化)。这刚好在触摸控件推荐的大小范围(7-10mm)内,而且这样的大小,用户用手指触摸起来也比较准确、容易。(xxhdpi标准下为144px)边框注意留白界面元素之间的留白应当是8dp。例:5.字体排版Roboto是Android系统的默认字体集,字体大小单位sp(可缩放像素数,scaleablepixels)根据Android设计规范,推荐使用12、14、16、20和34号,字体粗细可调spHDPIXHDPIXXHDPI12sp18px24px36px:14sp21px28px42px16sp24px32px48px18sp27px36px54px20sp30px40px60px34sp51px68px102px(注意:字号要为双数,且不可带小数位)6.9-patch图制作什么是9-patch图为什么要用9-patch格式制作图适应各种手机屏幕拉伸图片需求,有效缩减图片体积什么情况下使用当发现图片是背景时且可能拉伸被拉伸时,或图片过大时如何制作patch9图图片外层增加一全透明像素,在透明像素区花4条纯黑色边1.宽度可拉伸区域2.高度可拉伸区域3.垂直内容区域4.水平内容区域8.参考文献友盟设备指数Android设计指南简体中文版4.xMaterialDesign中文版Android设计中的.9.png技术干货:ApplewatchAPP设计规范一、规范概要1.导航形式层级式,通过当前页面点击跳转到另外页面的形式。适合应用于复杂产品,需要层层递进。页面式,页面切换,滑动,类似轮播AppleWatch导航形式任选其一,不得同时存在。2.交互方式轻触:列表、按钮、切换等控件的操作手势:纵向轻扫,界面滚动;横向轻扫,界面导航之间的查看;从屏幕左侧边缘向右轻扫,返回父级界面。压力触控:唤出当前页面情景菜单实体控件(手表旋钮):长页面浏览,避免手指长时间轻扫界面何遮挡界面3.色彩使用黑色作为APP的背景色,或者深色且高斯模糊的图片作为背景高对比度的颜色使用于文字、图标、界面4文字SF和苹方5.图标通知图标、首屏图标和长看图标、短看图标情景图标(App内功能图标)6.布局并排放置的图标一行不要超过三个布局优先采用左对齐二、设计尺寸1.1屏幕尺寸38mm(272*340px)42mm(312*390px)1.2图标尺寸通知图标48PX(38mm)55px(42mm)首屏图标和常看图标80px(38mm)88px(42mm)短看图标172px(38mm)196px(42mm)菜单情景图标(App内的功能图标)图标大小70px,实际图标大小46px。(38mm)图标大小80px,实际图标大小54px。(42mm)图标线宽不得小于4px1.3图标1.3.1通知图标,系统通知弹出的图标1.3.2首屏图标,如下图所示。首屏图标80px(38mm)88px(42mm)1.3.3长看图标,如下所示,左上角图标。常看图标80px(38mm)88px(42mm)1.3.4短看图标,如下图所示。短看图标172px(38mm)196px(42mm)2.字体和文字2.1字体SF和苹方2.2文字(字号,常见字号单位是PT和PX,PT是开发单位,PX是设计单位,在@2X下换算关系1PT=2PX)标题headline18PT正文标题caption15PT正文body15PT备注、脚注、辅助文字footnote12PT、13PT3.颜色高对比度的颜色使用于文字、图标、界面1.主色,如下图所示2.辅助色、点睛色(控件、按钮)按钮控件在设计中通常带有透明度3.字体颜色和透明度4.布局1状态栏和下方图片和列表布局间距38mm(30px),42mm(32px)2状态栏和列表按钮布局间距38mm(11px),42mm(13px)3状态栏和下方文本布局间距38mm(46px),42mm(50px)4文字边距和分割线按钮列表图片边距38mm和42mm边距相同5.图片和按钮到屏幕两边距离38mm和42mm边距相同5.控件和列表1单行控件和列表布局尺寸38mm42mm2.双行控件和列表布局尺寸2.1正文+备注38mm42mm2.2双行正文38mm42mm3.三行控件和列表布局尺寸38mm42mm4.多行控件和列表布局尺寸38mm42mm5.控件和列表类型_
2023-12-04 16:26:361

Android中dp和px之间如何进行转换?

1、px :是屏幕的像素点2、dp :一个基于density的抽象单位,如果一个160dpi的屏幕,1dp=1pxdip 3、转换方式如下public class DensityUtil { /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); } }
2023-12-04 16:26:452

这一次要帮你彻底搞明白px、ppi、dot、dpi、sp、dp、pt

这一次要帮你彻底搞明白px、ppi、dot、dpi、sp、dp、pt 这是初级设计师经常弄混淆的几个概念,下面我以“基本概念,易混淆的点,从问题入手,总结”四个方面来聊一聊 Px,ppi;dot,dpi; sp,dp;pt 那些事儿。 一、px,ppi;dot,dpi; sp,dp;pt 的基本概念 1. px:像素 1像素实际上是一个颜色点,所以又称像素点。大量不同颜色点组成一张图像,因此图像的基本单位是像素px(没有比像素更精细的单位了)。 像素主要用来表示图像大小和显示器分辨率(如1920*1080px)。像素本身的物理尺寸不固定,所以它的物理尺寸没有意义,有意义的是它的数量。 为什么像素的物理尺寸不固定? 像素本身不是物理世界的单位,是一个相对单位,尺寸可大可小。在高密度的屏幕上像素会变小,显示效果更清晰。因为“像素量px = 像素密度ppi x 屏幕尺寸in”,同样是1英寸的屏幕,密度越大,像素越多,则单个像素的物理尺寸越小。 都是图片相关信息,图片体积和像素有什么关系? 通常所说的100KB的图片指的就是图片的体积,首先一张图像在存储时,会描述每个像素点的颜色信息、位置、数量,这些描述数据就是图像的体积,如果像素越多自然图像体积越大。假如一张图片都是一个颜色,图像在保存时就会压缩,只存一个像素点的颜色信息,这样的图像体积会小很多。所以,像素点越多,颜色越复杂,图像体积越大。 为什么我们要买高像素的相机? 日常我们所说的几百万像素的相机,这个几百万像素指的是拍摄最大像素量照片时,图像宽高位置上像素量的乘积。如果像素量大,将来印刷或者在显示器上查看,在1英寸上就有足够多的像素显示,像素密度增加,图像也会更清晰。因此,我们更愿意买高像素的相机。 总结: 像素px常用来描述图像尺寸和显示器分辨率。 2. ppi:像素密度(pixel per inch) 1英寸屏幕上显示的像素量,密度单位。决定图片的物理显示尺寸,只有涉及到显示才有意义。值越大,显示越细腻。 计算公式: ppi=屏幕对角线上的像素量px/对角线长度inch = √(屏幕横向像素^2 + 屏幕纵向像素^2)/对角线长度。 为什么说ppi决定图片的物理尺寸? 一个手机的显示屏在出厂时就确定了PPI的值,PPI越大,显示越高清。图片的物理尺寸 = PPI * Px,通常一张图像的px确定,ppi越大,则它的物理尺寸越小。所以为什么我们在高PPI的手机上,人眼看到的图像比低PPI的图形小。在设计行业,我们会针对高PPI的手机,设计更大像素的图像也是这个道理。 日常所说的分辨率有两个概念,一个指显示器的分辨率,另一个指图像的分辨率。显示器分辨率指显示器所能显示的像素多少(1920px*1080px),显示器可显示的像素越多,画面就越精细,因为屏幕尺寸一定,分辨率越大,像素密度越大。显示器分辨率都用(1920px*1080px)这种形式表示,清晰度还需要结合屏幕尺寸计算。图像分辨率则是单位英寸中所包含的像素点数,比如photoshop 里新建画布时设置的图像分辨率72ppi,其定义更趋近于分辨率本身的定义 注意: 同一显示屏上查看图片,像素量越大,图片尺寸越大。 显示分辨率一定的情况下,显示屏越小图像越清晰(比如MacBook),反之,显示屏大小固定时,显示分辨率越高图像越清晰。 对于设计师来说像素密度很重要,需要很据像素密度来切图和适配,理解了像素密度的意义,就理解了几倍图之间的关系。 3. dot:墨点 印刷品的最小单位,表示一个印刷颜色点,类似px,只有相对大小,用在印刷行业。 4. dpi:打印分辨率 (dot per inch) 1英寸上打印的墨点数量,密度单位,只用在印刷行业,值越大,印刷越精细。 注意: 与安卓的dp完全没关系。 印刷行业相关的单位是dot,dpi。印刷尺寸(英寸)=打印墨点数(dot)/打印机密度(dpi)。 照片的清晰度,是由打印机分辨率决定的。所以一张照片包含的像素越多(需要高像素照相机拍摄),高dpi打印机就可以打印出清晰的图片。如果照片像素量px一定, 打印机的dpi越高, 则打印尺寸越小。(这里可设置为dot=px) 5. pt:点(印刷) 大小为1/72英寸=0.35mm,单位是英寸,是物理长度单位,大小固定,绝对单位。源于活字排版时代,photoshop里的字体单位就只这个。 公式: 1pt= (PPI / 72) px。 当photoshop中新建画布的分辨率为72ppi,由公式,则1pt=1px。当分辨率为144ppi时,1pt=2px。 注意: 这里指印刷行业的pt哦! 6. pt: 点(iOS) iOS系统开发单位,是独立像素的意思,长度固定,不随屏幕像素密度ppi变化而变化。 苹果公司规定:普屏时1px=1px,而普屏的ppi=163像素/英寸,那么pt=1/163英寸=0.16mm(固定值)。普屏1px=1px,高清屏1pt=2px。 用固定长度pt作为开发单位的好处是,这样可以保证同一张图片在不同设备上显示大小一样,因为pt值是固定的。高清屏上1pt等于更多的像素px,因为像素在高清屏上变小,所以pt还是固定的。 7. dp:长度(Android) (Density-independent pixel) 是安卓开发用的长度单位。 根据不同的屏幕分辨率,与px有不同的倍数关系。规定:1dp等于屏幕像素密度为160ppi时1px的长度,因此dp在整个系统大小是固定的。公式:1dp=(屏幕ppi/ 160)px。 1dp等于屏幕像素密度为160ppi时1px的长度,即,在mdpi时,1dp = 1px。 以mdpi为标准,这些屏幕的密度值比为: ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3。android中清屏1dp=1px,高清屏1dp=1.5px,超清屏1dp=2px。 做设计时以xhdpi为模板, xhdpi条件下1dp=2px,标注长度的时候,将长度像素除以2即为dp值,这样方便和开发沟通。 8. sp:大小(Android) (scale-independent pixel) 安卓开发用的字体大小单位。 注意: dp和sp都是安卓开发的单位,dp是长度单位,sp是字体单位。一般情况下可认为sp=dp。 二、易混淆的点 px和dot 都是点的概念,px应用在电子显示设备上,是显示图像的基本单位。dot应用在印刷行业,是打印图片的基本单位。 ppi和dpi ppi和dpi无关系,互不影响 。 ppi影响图像的显示尺寸,dpi影响图像的打印尺寸。打印时可以让数量上px=dot,则设计时在photoshop里设置的ppi大小,可以认为是dpi大小。 很多技术人员经常把ppi和dpi画等号, 其实他们的物理意义不一样,但是因为混淆的人多了,所以在电子屏幕显示中提到的ppi和dpi我们可以认为是一样的。 pt和dp iOS系统的pt和Android系统的dp概念是相似的。 三、从问题入手深入理解概念 1.设计印刷品时,为什么说在ps里设置的ppi没有实际意义,但还是要设置呢? 首先我们要明白,打印的分辨率dpi是由实际的打印机决定的,所以在ps里设置分辨率根本没有意义。但是我们可以预期打印效果,比如多大的分辨率和尺寸,有了这两个值就能确定像素量px,即,只要像素量满足要求,就能打印出预期的效果。所以ps里设置分辨率ppi是为了让ps计算出像素量大小。 2.photoshop里,高ppi和低ppi画布的显示差别? Photoshop里的显示大小只和图像的像素量和显示器分辨率有关。显示器是确定的,所以像素量越大,显示尺寸越大。 3.photoshop里, 相同像素的图像,高ppi图像拖入到低ppi图像里,高ppi的图像变小, 为什么? 因为拖入后,高ppi的文档分辨变小,photoshop把图像的像素按照ppi变小的比例变小。这样里体现了不同ppi的图像在photoshop里的转换关系。 4.photoshop里,相同像素的图像,低ppi图像拖入高ppi图像里,低ppi的图像无变化,为什么? 因为拖入后,低ppi的文档分辨变大,photoshop把图像的像素按照ppi变大的比例变大,这样就超过了画布尺寸,photoshop按照置入图片的原理显示,即按最大边匹配。 5.使用软件的方式,增加图像的像素px,或者提高图像的像素密度ppi,对图像有什么影响? 软件增加图片像素,图片会变模糊,因为增加的不是有效像素,所谓高清图是指包含有效像素多的图片。显示清晰度由显示器本身决定,图片的ppi没有意义。 6.100*100px的图片,ps改变它的ppi,会怎样? 像素是确定的,即不会影响显示,也不会影响印刷。 四、总结 1.手机设计稿 因为手机屏幕的ppi和英寸确定,那么像素可计算出来,即px确定,只需设置ps的画布像素px相同就可以了,ps里设置的ppi对手机设计稿而言并没有什么意义,可以随便设置;手机只关注图片的像素够不够,因为是按照手机1:1的像素设计。所以,适配高ppi手机的设计稿,修改ps的ppi是没有用的,而应该按照高ppi的像素修改设计稿。 2.打印设计稿 打印尺寸和打印分辨率300dpi确定, 但ps以px为单位,由公式dot=英寸*dpi,px=英寸*ppi,英寸相同, dpi=ppi=300,那么数量上可以dot=px。ps的英寸和ppi确定, px也确定,但不能直接得出px数量,但是ps可直接设置厘米cm, 那就只需要设置宽高的厘米和分辨率300ppi=118.11像素/厘米,就可以间接设置所需的像素量,这就能保证300dpi清晰度和打印尺寸。(设置300dpi时ps会自动转化为118.11像素/厘米)
2023-12-04 16:26:521

px、ppi、dot、dpi、sp、dp、pt,让我们搞清楚这7的小伙伴都是谁

像素 ,为影像显示的基本单位,译自英文” pixel ”, pix 是英语单词picture的常用简写,加上英语单词“元素” el ement,就得到 pixel ,故“像素”表示“画像元素”之意,有时亦被称为 pel ( p icture el ement)。每个这样的讯息元素不是一个点或者一个方块,而是一个抽象的取样。照片是一个个取样点的集合,在影像没有经过不正确的/有损的压缩或相机镜头合适的前提下,单位面积内的像素越多代表解析度越高,所显示的影像就会接近于真实物体。 像素是一个抽象单位,一个像素通常被视为影像的最小的完整取样。由于抽象,所以像素的大小并无意义,有意义的是像素的数量。 一幅影像中的像素个数有时被称为影像分辨率,显然分辨率有一个更为特定的定义--屏幕分辨率。像素可以用一个数表示,譬如一个"3百万像素"数字相机,它有额定三百万像素,或者用一对数字表示,例如"640乘480",它有横向640像素和纵向480像素,因此其总数为640 × 480 = 307,200像素(30.72万像素)。 百万像素(Mega Pixels,缩写为MP)是指有“一百万个像素”,通常用于表达数字相机的分辨率。例如,一个相机可以使用2048×1536像素的分辨率,通常被称为有"3.1百万像素/310万像素"(2048×1536=3,145,728,通常只计算前两个位作有效数字)。 十亿像素影像是一种超高解系度的影像,相较于一般1000万像素的数字相机,差距高达100倍以上。十亿像素影像通常只用在特定用途,例如人造卫星上。 每英寸像素 (英语: P ixels P er I nch,缩写:PPI,又被称为 像素密度 ,是一个表示打印图像或显示器单位面积上像素数量的指数。一般用来计量电脑显示器,电视机和手持电子设备屏幕的精细程度。通常情况下,每英寸像素值越高,屏幕能显示的图像也越精细。 电脑与手机屏幕的每英寸像素值取决于尺寸和分辨率,通常指的就是每英寸上的像素点数。 例如一台4:3的15寸显示器,分辨率为1024×768(XGA),其横向和纵向的像素密度均为85每英寸像素。同样的一台显示器,如果分辨率设置的不同,像素点数也不同。分辨率越高,每英寸像素值也越高。 一台显示器的的像素密度是由显示单元之间的点距决定的。一台显像管或LCD液晶显示器的像素密度大约是67至130每英寸像素,而现在笔记本电脑的屏幕能达到200每英寸像素,个别产品甚至高达300每英寸像素。 要计算显示器的每英寸像素值,首先要确定屏幕的尺寸和分辨率。 其中, 以屏幕尺寸为4吋的iPhone 5为例,分辨率为1136x640,像素密度为326PPI。而分辨率为1920x1080的家用21.5寸显示器,像素密度为103PPI。 另外,由于屏幕的尺寸有时并不代表其实际的大小(例如苹果公司生产的21.5寸iMac电脑实际对角线长度为21.465寸),因此单凭尺寸算得的每英寸像素值会有一定的误差。 基于每英寸像素值的屏幕分级 根据屏幕每英寸像素值的不同,Android系统的开发者将平板电脑和手机的屏幕分成五类: 名称 显示等级 每英寸像素值 LDPI 低等像素密度 每英寸大约120像素 (36 x 36 px) MDPI 中等像素密度 每英寸大约160像素 (48 x 48 px) HDPI 高等像素密度 每英寸大约240像素 (72 x 72 px) XHDPI 极高像素密度 每英寸大约320像素 (96 x 96 px) XXHDPI 超高像素密度 每英寸大约480像素 (144 x 144 px) 其中XHDPI往往指的是具有类似于苹果Retina显示屏显示效果的屏幕。 各种屏幕尺寸查阅: Screensizes 印刷品的最小单位,表示一个印刷颜色点,类似px,只有相对大小,用在印刷行业。 1英寸上打印的墨点数量,密度单位,只用在印刷行业,值越大,印刷越精细。 sp是安卓开发用的字体大小单位。 dp是安卓开发用的长度单位。 规定:1dp等于屏幕像素密度为160ppi时1px的长度,因此dp在整个系统大小是固定的。公式:1dp=(屏幕ppi/ 160)px。 1dp等于屏幕像素密度为160ppi时1px的长度,即,在mdpi时,1dp = 1px。 以mdpi为标准,这些屏幕的密度值比为: ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3。 pt用在不同的场景下是两个单位。 大小为1/72英寸=0.35mm,单位是英寸,是物理长度单位,大小固定,绝对单位。是photoshop里的字体单位。 公式:1pt= (PPI / 72) px。 当photoshop中新建画布的分辨率为72ppi,由公式得知1pt=1px。当分辨率为144ppi时,1pt=2px。 iOS系统开发单位,是独立像素的意思,长度固定,不随屏幕像素密度ppi变化而变化。 苹果公司规定:普屏时1px=1px,而普屏的ppi=163像素/英寸,那么pt=1/163英寸=0.16mm(固定值)。普屏1px=1px,高清屏1pt=2px。
2023-12-04 16:26:591

Android 关于"尺寸"的那些事(dp,dip,sp,pt,px...)

屏幕大小:屏幕大小是手机对角线的物理尺寸,以英寸inch为单位。比如我的Mix 2手机屏幕大小为5.99 inches,意味着我的屏幕对角线长度为5.99inches = 5.99 * 2.54 = 15.2146cm 分辨率:屏幕的像素点数,一般表示为a*b。例如某手机分辨率为21601080,意味着手机屏幕的竖直方向(长)有2160个像素点,水平方向(宽)有1080个像素点。 px :Pixels ,像素;对应屏幕上的实际像素,是画面中最小的点(单位色块),像素大小没有固定长度值,不同设备上1个单位像素色块大小不同。 这么说可能有点陌生,用屏幕分辨率来说,今年流行起来的“全面屏”分辨率是 2160*1080,但是你也可以发现,虽然很多全面屏手机分辨率一样,但是明显看得出来屏幕大小不一样,这也解释了“不同设备像素色块大小是不同的”。 pt :1pt=1/72 inch,用于印刷业,非常简单易用; dpi :Dots Per Inch,每英寸点数;详见ppi ppi :Pixels Per Inch,每英寸像素数;数值越大显示越细腻。计算式:ppi = 屏幕对角线像素数 / 屏幕对角线长度。 还是举全面屏的例子,分辨率2160*1080,屏幕大小是5.9inches,勾股定理可以得到对角线像素数大约是2415,那么ppi = 2415 / 5.99 = 403. 事实上dpi 和 ppi 一定程度上可以划等号,都表示像素密度,计算方式完全一致,只不过使用场景不一样。dpi中的dots点属于打印或印刷等领域,例如drawable 文件对应的就是dpi,而ppi中的pixel属于屏幕显示等领域 dp/dip : Density-independent Pixels,密度无关像素 - 基于屏幕物理密度的抽象单位。1dp等于 160 dpi 屏幕上的dpx,这是 系统为“中”密度屏幕假设的基线密度。在运行时,系统 根据使用中屏幕的实际密度按需要以透明方式处理 dp 单位的任何缩放 。dp 单位转换为屏幕像素很简单:px = dp * (dpi / 160)。 例如,在 240 dpi 屏幕上,1 dp 等于 1.5 物理像素。在定义应用的 UI 时应始终使用 dp 单位 ,以确保在不同密度的屏幕上正常显示 UI。 如果看完文章还是觉得很懵,那么可以直接记住: 1dp单位在设备屏幕上总是等于1/160 inch。 sp :Scale-independent Pixels ,与 dp 单位相似,也会根据用户的字体大小偏好进行缩放。 首先我们放上源码中对尺寸单位的转换 可以看到,输入值类型为dp时,返回 value * DisplayMetrics.density,到这里我们可能会发懵:嗯?不对啊,前面我们不是通过px 和 dp 的换算公式来计算的么,怎么这里就简简单单乘了一个DisplayMetrics.density?不要慌,我们先看看源码中对DisplayMetrics.density的介绍。 源码注释中说到“在160dpi的屏幕下,density的值为1,而在120dpi的屏幕下,density的值为0.75”,我们可以大胆的猜测一下,120dpi下的density=0.75的原因是120dpi * 1 /160dpi=0.75。实际上,也就是这么回事。我们下面会仔细的分析。 需要补充一下,通常意义上Android 屏幕的密度,指的是像素密度dpi/ppi,对应于源码中的DisplayMetrics.densityDpi。 为什么引入dp? Android 引入了dp这一单位,使得不论多大屏幕,多大dpi,显示的效果始终保持一致。 但是根据前面我们提到的px与dp的换算公式px = dp * (dpi / 160),很显然,由于相同分辨率但不同屏幕大小的设备dpi是不同的,导致px和dp的基本不存在一个固定的换算关系,为了方便屏幕适配,Android设置了6个通用的密度,换算px与dp时采取通用密度计算,而非设备实际的密度。 以下为6种通用密度,以及其最小的分辨率 得到上面通用密度之后,我们换算dp与px多了一种简便方式。前面我们提到Android将mdpi作为基准,此时1px = 1dp,又有px = dp * (dpi / 160),所以我们可以很容易的得到以下换算: 还记不记得前面源码中的density属性,实际上DisplayMetrics.density = dpi / 160 ,表示的就是在某个通用密度下dp与px的换算比(1dp/1px的值) 这部分其实和程序员自身已经关系不大了,毕竟参与工作之后这些都是UI人员的活儿了。不过鉴于现在我还只是一枚在校生,还是记下来以免自己遗漏吧。 建议在xhdpi中作图 原因嘛,首先现在主流分辨率是1080p,以及最近流行起来的全面屏18:9,而xhdpi对应720p,向低dpi兼容自然没问题,即便在xxhdpi中显示,也会有个不错的效果。而如果以1920*1080作图,显然图片素材占用的内存很大,而且也会增大应用安装包的大小。 只有一个原则:资源放入对应dpi的文件夹中,Android会机智的加载合适的资源。 以drawable资源为例: 我们平时开发小项目&对UI要求不高时,只使用一套xhdpi的资源就足够了,虽然这可能会导致在hdpi及以下的手机中有些卡顿,因为xhdpi的图片运行在hdpi及以下的手机上会比较吃内存,不过无伤大雅。 而如果不为图片资源犯愁时(有UI人员的支持,就是任性),就可以添加所有dpi的资源。当然,重点还是要满足ldpi:mdpi:hdpi:xhdpi:xxhdpi=3:4:6:8:12的规律。 好像说了不少废话,哈哈,大概就这么多吧。
2023-12-04 16:27:061

px,dpi,dp(dip)之间的关系

px 是英文单词pixel的缩写,意为像素,屏幕上的点。我们通常所说的分辨率如480X800就是指的像素。 在设计领域中,像素是用来计算数码影像的最小单位。计算机中显示的图像并非连续的线条组成,而是由许多肉眼看不见的小点组成。如果把影像放大数倍,会发现这些连续色调其实是由许多色彩相近的小点所组成,这些小点就是构成影像的最小单位“像素”。由于是最小的独立显示单位,px均为整数,不会出现0.5px的情况。 in 表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米。例如我们经常说的手机屏幕大小有,5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是4英寸,表示手机的屏幕(可视区域)对角线长度是4 X 2.54 = 10.16厘米。 dpi dpi是Dots Per Inch的缩写, 每英寸点数,即每英寸包含像素个数。比如320X480分辨率的手机,宽2英寸,高3英寸, 每英寸包含的像素点的数量为320/2=160dpi(横向)或480/3=160dpi(纵向),160就是这部手机的dpi,横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。 density 屏幕密度,density和dpi的关系为 density = dpi/160 dp 也即dip,设备独立像素,device independent pixels的缩写,Android特有的单位,在dpi = 160屏幕上,1dp = 1px。px = density * dp;density = dpi / 160;px = dp * (dpi / 160); sp 和dp很类似,一般用来设置字体大小,和dp的区别是它可以根据用户的字体大小偏好来缩放。
2023-12-04 16:27:131

Android的px,dp和sp等单位的区别详解

  px:  即像素,1px代表屏幕上一个物理的像素点;  px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同  dp:  这个是最常用但也最难理解的尺寸单位。它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度,像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量。横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。  不同的手机/平板可能具有不同的像素密度,例如同为4寸手机,有480x320分辨率的也有800x480分辨率的,前者的像素密度就比较低。  Android系统定义了四种像素密度:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它们对应的dp到px的系数分别为0.75、1、1.5和2,这个系数乘以dp长度就是像素数。  例如界面上有一个长度为“100dp”的图片,那么它在240dpi的手机上实际显示为80x1.5=120px,在320dpi的手机上实际显示为80x2=160px。如果你拿这两部手机放在一起对比,会发现这个图片的物理尺寸“差不多”,这就是使用dp作为单位的效果。  dip:  与dp完全相同,只是名字不同而已。在早期的Android版本里多使用dip,后来为了与sp统一就建议使用dp这个名字了。  sp:  与缩放无关的抽象像素(Scale-independent Pixel)。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。  还有几个比较少用到的尺寸单位:  mm:  即毫米;  in:  即英寸,1英寸=2.54厘米(约);  pt:  1pt=1/72英寸=0.035厘米;  最佳实践,文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位。例如textSize="16sp"、layout_width="60dp";偶尔需要使用px单位,例如需要在屏幕上画一条细的分隔线时:  <View layout_width="match_parent" layout_height="1px"/>  补充:  1. android.view.ViewGroup.LayoutParams.height及width这两个属性的单位为像素,但是为了兼容多种分辨率的手机,我们需要最好使用dp。2. 根据手机的分辨率从dp的单位转成pxpublic static int dip2px(Context context, float dpValue){ final float scale = context.getResources().getDisplayMetrics().density; return (int)(dpValue*scale + 0.5f);}3.根据手机的分辨率从px转成dppublic static int px2dip(Context context, float pxValue){ final float scale = context.getResources().getDisplayMetrics().density; return (int)(pxValue/scale + 0.5f);}
2023-12-04 16:27:221

px、dp、sp、dpi之间的区别和转换

px、dp、sp、dpi之间的区别和转换 区别:px (pixels)像素 -- 是像素,就是屏幕上实际的像素点单位。(一般UI人员在ps中经常使用) dp/dip 设备独立像素,android layout经常使用的尺寸单位,与设备屏幕有关,dp是虚拟像素,在不同的像素密度的设备上会自动适配。即与像素密度无关。 sp 放大像素,主要是处理字体的大小 dpi:Android支持四种不同的dpi模式:ldpi mdpi hdpi xhdpi hdpi里面存放高分辨率的图片,如WVGA (480x800),FWVGA (480x854) mdpi里面存放中等分辨率的图片,如HVGA (320x480) ldpi里面存放低分辨率的图片,如QVGA (240x320) 转换: a.首先了解常见的分辨率Resolution: 分辨率:指手机屏幕垂直和水平方向上的像素个数。比如分辨率是480*320,则指设备垂直方向有480个像素点,水平方向有320个像素点。 VGA 显示绘图矩阵 640×480 HVGA half 480×320 QVGA quarter 320x240 b.dpi像素密度,指每英寸中的像素数,该值对应于DisplayMetrics类中属性densityDpi的值 (例子:设备分辨率为320*240,屏幕长2英寸宽1.5英寸 dpi=320/2=240/1.5=160) c.density屏幕密度,指每平方英寸中的像素数,在DisplayMetrics类中属性density的值为dpi/160(用这个进行dp sp之间的转化) 如图:d.px 和 dp 互转换 计算公式:实际像素数px=1dp*像素密度(dpi)/160 =dp*density 在320x480分辨率,像素密度dpi为160,1dp=1px 在480x800分辨率,像素密度dpi为240,1dp=1.5px /** * 根据手机的分辨率从 dp 的单位 转成为 px(像素) */ public static int dip2px(Context context, float dpValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (dpValue * scale + 0.5f); } /** * 根据手机的分辨率从 px(像素) 的单位 转成为 dp */ public static int px2dip(Context context, float pxValue) { final float scale = context.getResources().getDisplayMetrics().density; return (int) (pxValue / scale + 0.5f); }
2023-12-04 16:27:291

Android UI里1px等于多少dp?

dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。 下面看一下其他单位的含义 px:表示屏幕实际的象素。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。 in:表示英寸,是屏幕的物理尺寸。每英寸等于2.54厘米。例如,形容手机屏幕大小,经常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是3.2英寸,表示手机的屏幕(可视区域)对角线长度是3.2*2.54 = 8.128厘米。读者可以去量一量自己的手机屏幕,看和实际的尺寸是否一致。 mm:表示毫米,是屏幕的物理尺寸。 pt:表示一个点,是屏幕的物理尺寸。大小为1英寸的1/72。原帖地址http://www.ophonesdn.com/forum/thread-1946-2-1.htmlpx(Pixels ,像素):对应屏幕上的实际像素点。例如,320*480的屏幕在横向有320个象素,在纵向有480个象素。 in(Inches ,英寸):屏幕物理长度单位。每英寸等于2.54厘米。例如,形容手机屏幕大小,经常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是3.2英寸,表示手机的屏幕(可视区域)对角线长度是3.2*2.54 = 8.128厘米。读者可以去量一量自己的手机屏幕,看和实际的尺寸是否一致。 mm(Millimeters ,毫米):屏幕物理长度单位。 pt(Points ,磅):屏幕物理长度单位, 表示一个点,是屏幕的物理尺寸。大小为1英寸的1/72。 dp(与密度无关的像素):逻辑长度单位,在 160 dpi 屏幕上,1dp=1px=1/160英寸。随着密度变化,对应的像素数量也变化,但并没有直接的变化比例。 dip:与dp相同,多用于Google示例中。 sp(与密度和字体缩放度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。 尽量使用dp作为空间大小单位,sp作为和文字相关大小单位
2023-12-04 16:28:022

px、dp和sp,这些单位有什么区别?

px、dp和sp,这三个单位的区别在于,它们的定义各不相同:px:指像素,是指基本原色素及其灰度的基本编码。2.dp:安卓开发时的长度单位。3.sp:与缩放无关的抽象像素,是字体单位。px:是Pixel的缩写。像素是指基本原色素及其灰度的基本编码,由 Picture(图像)和 Element(元素)这两个单词的字母所组成的。当图片尺寸以像素为单位时,需要指定其固定的分辨率,才能将图片尺寸与现实中的实际尺寸相转换。例如:大多数网页制作常用图片分辨率为72,即每英寸像素为72,1英寸等于2.54厘米。2.dp:Density-independent pixel,是安卓开发用的长度单位,1dp表示在屏幕像素点密度为160ppi时1px长度。安卓端屏幕大小各不相同,根据其像素密度,分为以下几种规格:3.sp:scale-independent pixel,安卓开发用的字体大小单位。一般情况下可认为sp=dp。
2023-12-04 16:28:182

DPI和PPI

不论是DPI还是PPI,实际都是一种换算的概念,即将图片承载的信息换算为现实中的图片(即人眼能实际看到的图像)。DPI和PPI的区别在于换算的途径不同,DPI面向的是印刷受体,而PPI面向的是荧幕。 PPI是英文Pixels Per Inch的缩写,意为像素每英寸。英寸是常用的长度单位,大约相当于2.54厘米。而像素是专用于荧幕的概念,指的是荧幕可以解析的最小的点。因此,PPI值得是像素在荧幕上的密度,PPI越高图像就越清晰 举例来说,如果电脑屏幕是2K分辨率,即1920×1080像素,它的图像宽为1920像素。而如果这个电脑屏幕的物理宽度是19.2英寸,电脑屏幕是分辨率就是1920/19.2=100PPI。 DPI是英文Dots Per Inch的缩写,意为点每英寸。应粗你还是那个英寸,但是点的意义有很多。一般来讲,你可以把Dot理解为取样点,即物理设备可以解析的最小单位。在印刷时,它就可以作为印刷网点,而在鼠标等电子设备上,可以理解为最小操作阈值(即设备会把多么远的两个点当作一个点来处理)。 我们仍然拿1920×1080像素的图片来举例子,如果印刷设备的解析能力刚好是100DPI,而且你要印制的纸张尺寸刚好是19.2英寸,那么印刷设备就可以刚好把一个像素作为一个取样点,印刷完成后图片的保真度是百分之百(也就是图片所有的视觉信息都被印刷出来了)。在大多数情况下,这几个数值都不那么整好,因此保真度会产生损失。 1.在条件允许的情况下,图片分辨率越高越好 我们可能不会有精力去关心图片信息量的DPI是多少,印刷设备的DPI又是多少这种细节的问题。但有一点是可以确定的,那就是图片只要足够大,印刷就会清晰。 2.如果有可能,使用准确的数值 许多软件可以帮助你了解图片实际尺寸下的PPI,比如使用Photoshop,在300PPI下创建A4的文件(尺寸21×29.7厘米,对应分辨率2480×3508像素)并做出图片,那么大多数情况下都可以完美印刷。 正如前文所述,大多印刷设备的解析能力是300DPI,因此在该图片的信息量下,1个像素刚好对应1个点,甚至不需要栅格处理。而如果你强行使用400PPI来创建A4尺寸的文件,拿到300DPI的设备上会被栅格,说不定还不如300DPI的质量好(毕竟是有损处理,但这种差别未必能看得出来)。 下图是苹果官方对iPhone 机型的介绍: 拿iPhone7 Plus来说: 屏幕尺寸:5.5英寸 手机分辨率(像素):1920 (高)x 1080(宽) PPI:401 屏幕尺寸:表示手机屏幕对角线的长度,单位是英寸。1英寸(inch)=2.54厘米(cm) 手机分辨率:分辨率可以从显示分辨率与图像分辨率两个方向来分类。 显示分辨率(屏幕分辨率):屏幕 图像 的精密度,是指 显示器 所能显示的 像素 有多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越 精细 ,同样的屏幕区域内能显示的信息也越多。 图像分辨率:单位英寸中所包含的像素点数,其定义更趋近于分辨率本身的定义。 分辨率的单位:(dpi 点每英寸 )、lpi(线每英寸)和ppi( 像素每英寸 )。但只有lpi是描述光学分辨率的尺度的。虽然dpi和ppi也属于分辨率范畴内的单位,但是他们的含义与lpi不同。而且lpi与dpi无法换算,只能凭经验估算。ppi和dpi经常都会出现混用现象。但是他们所用的领域也存在区别。从技术角度说,“像素”只存在于电脑显示领域,而“点”只出现于打印或印刷领域。 ppi:Pixels Per Inch,屏幕像素密度,每英寸屏幕所拥有的像素数,在电脑显示领域使用。 dpi:Dots Per Inch,每英寸长度上的点数,在打印领域使用。 屏幕像素密度,分辨率,屏幕尺寸的关系 所以美工使用PS作图的大小为手机分辨率的大小。 如需要设计适配iPhone7的手机,我们使用1334 x 750px大小 但有一点是特殊的,就是iPhone6(s) plus、iPhone7 plus,我们需要使用2208 x 1242px大小, 原因: ppi为326的手机,使用的为@2x的素材,对于ppi是401的手机,理论上苹果应该用401/326 * @2x=@2.46x的素材。但是这个奇葩的比例对开发者而言很难切图。所以苹果为方便开发者用的是@3x的素材,然后再缩放到@2.46x上,实际上是缩放到2.46/3=83%。实际上苹果选取了一个接近比例的87%。 这样算下来,物理分辨率和虚拟分比率的比例是87%,也就是1920/0.87=2208,1080/0.87=1242. 好处就是开发者更方便,比如准备素材时,字号可以直接调成3x的。 概述 前段时间看了小米8的发布会,其中屏幕参数是如下介绍的: 当时我就在想这都是怎么算出来的,虽然我知道 PPI 是指屏幕每一英寸上包含的像素点,但是稍微往深一想我发现我对这些参数真的很迷茫,好奇心驱使我做了些调查。 像素,英文为 Pixel ,是我们日常最熟悉不过的了,但是深入进去会发现其蕴含的知识量是巨大的,此篇对于像素话题也只是浅尝辄止,抛砖引玉。 讨论像素需要分不同的场景: 1. 数字图像 我们程序员日常工作中接触并讨论的像素大多是指这个范畴。 光栅图片(Bitmap)是我们日常接触最多的,例如 jpg,jpeg,png,gif,bmp等等,另一种比较常见的就是矢量图了。 光栅图片是由一个一个像素组成的,那么像素包含哪些信息?有物理尺寸吗? 每个像素由颜色信息组成,有的还包含一个透明度信息。因为可以通过三原色 Red , Blue , Green 来混合出很多种颜色,所以一个像素就可以使用存储这三种颜色的一个数据结构表示。一个像素占用内存的大小,与其使用多少位来表示这些颜色有关,例如最简单的像素只有一个 bit ,那么它只能表示两个状态,0或者1,对应到图像上也就是黑白。当一个像素达到24 bit 的时候,RGB每个通道占8位,可以组合出来的颜色已经有1677万色(256 256 256=16,777,216)种了,而人类眼睛可以分辨的颜色也只有大概1000多万种,此时就是真彩色了。当然还有32位真彩色,感兴趣的可以去研究。 图片来自 维基百科 那么通过以上的介绍,我们可以得出结论,此处的像素没有物理尺寸,仅仅是一些数据,只有将其显示在物理设备上才会存在物理尺寸。 可以通过下图感受一下 图片来源 讨论分辨率仍然需要分讨论场景 1. 数字图像 此时分辨率是用来描述图片的像素信息的,比如我们说一张图片的分辨率是1280 720,那么仅仅是说明这张图片是由1280个像素 720个像素组成的。如下图所示,至于这张图片的尺寸有多大,清晰还是模糊,这取决于它自身的存储格式以及用来显示它的设备。 2. 硬件显示设备 是指这块屏幕所包含的像素(这个像素是物理上的,前面我们已经讨论过了)。例如小米8的屏幕分辨率为2248x1080,说明这块屏幕包含了这么多物理像素。 那么图片的分辨率与屏幕的分别率是什么关系呢?这需要清楚了 PPI 后才可以回答这个问题。 DPI 是印刷业使用的单位,其表示的是打印纸上每一英寸包含的墨点数量,而 PPI 是电子屏幕上每一英寸上包含的可寻址物理物理显示单元。其中英寸是西方惯用长度单位,等于2.54厘米。这两个概念之所以如此容易混淆,就是因为一些软件提供商做的孽,例如Microsoft,Adobe,Apple 等等,他们经常将这两个概念互换使用。 PPI : Pixels Per Inch, 每一英寸上包含的像素个数。 这个值越高,屏幕的显示能力越强,例如小米8 PPI的计算方式如下图所示 可见小米8的 PPI 是401.6,而其官方宣称为402,估计是四舍五入了,不过不知道半个像素怎么处理,知道的可以告诉我一下。 DPI : Dots Per Inch, 每一英寸上包含的点个数。 与PPI计算方式一样,只是应用的领域不同,这个用在印刷业的。 至此我们可以回答图片的分辨率与屏幕的分辨率的关系了,以小米8为例,按照 图片比例全屏 显示某一张图片: 第一:当将一张1080 2248像素的图片显示在Mi8上时,屏幕上的每一个物理像素对应一个图片像素,可以完美显示。 第二:当将一张2000 2248像素的图片显示在Mi8上时,Mi8的屏幕在宽度上是无法显示的,所以显卡会将图片光栅化,通过一定的算法将2000个像素减少到1080个像素,由于是从多到少的处理,所以图片是清晰的。 第三:当将一张720*1280像素的图片显示在Mi8上时,显卡会将图片光栅化,将图片以其中一边为标准拉伸,图片会变模糊。 Pt :汉语翻译为 榜 ,是一个物理尺寸,长度为1/72 英寸,在概念上Pt与Px毛关系也没有,但是在 photoshop 中就有关系了。 photoshop 中的pt却是一个相对单位(这帮二货各种混用) 换算公式: 1pt= (DPI / 72) px 。 dp : Density-independent Pixels, 这个是Android基于物理设备的 ppi 抽象出来的一个单位。它是以 160dpi 的屏幕为基准定义的,在 160dpi 的屏幕的屏幕上 1dp=1px ,那么我们就可以得出其 换算公式: 1dp=(屏幕ppi/ 160)px 目前Android系统的屏幕分类如下表 |密度分类| 屏幕密度 | |--|--| |ldpi |120dpi | |mdpi |160dpi | |hdpi |240dpi | |xhdpi |320dpi | |xxhdpi |480dpi | |xxxhdpi |640dpi | sp : Scale-independent Pixels,其与dp基本一样,也是像素无关的,但是是用在描述字体的大小上。其尺寸会同时相应屏幕密度以及用户对字体的偏好设置。 例如:在手机的字体设置为默认大小时,使用 dp 与 sp 描述字体的大小是一样的,如下图 但是当我们改变了手机的字体默认设置的字号后, dp 描述的字体大小没有变化,但是 sp 描述的字体大小却相应的发生了变化,如下图。 除此之外 dp 与 sp 再无差异,一般建议字体使用 sp 作为单位。 dip 就是 dp 互为别名,没有任何区别,其与 px 关系见上文。 以上就是关于显示接触GUI开发的程序员应该了解的,本来以为很简单,但是调查后发现再往深研究我将会陷入泥潭无法自拔。同时我也感受到,人类社会发展到目前的水平,任何一个门类的知识都足以让一个人投入终身的时间去研究,那我们程序员除了赚钱养家是不是应该找个自己感兴趣方向忠贞不渝的投入一生业余精力去尝试研究一番呢?在此我觉得我很挫败,突然发现自己这么大年纪了竟然没有爱好,如果爱好美女这个不算的话。。。! 我们的原图是一份长宽都是1800像素的图片。 这张图片长宽都是1800像素 ,对它自己而言,DPI和PPI没有意义。 它的分辨率参数,仅仅是1800像素而已。 假设我们的所有印刷机、打印机、喷绘机,在原尺寸下都将1像素映射为1个点(即1Px/Dots),可以进行下面这些计算。 如果我们使用300DPI的印刷机,原尺寸打印这张图,那么它的长宽为: 1800 Px / (1Px/Dots) / 300 DPI = 6 in 即长宽都是6英寸(15.24厘米)。 如果我们使用220DPI的打印机, 原尺寸打印这张图,那么它的长宽为: 1800 Px / (1Px/Dots) / 220 DPI ≈ 8.19 in 即长宽都是8.19英寸(20.8厘米)。 如果我们使用72DPI的喷绘机, 原尺寸打印这张图,那么它的长宽为: 1800 Px / (1Px/Dots) / 72 DPI = 25 in 即长宽都是25英寸(63.5厘米)。 使用81PPI的一般显示器,原尺寸显示这张图, 那么它的长宽为: 1800 Px / 81 PPI ≈ 22.2 in 即长宽都是22.2英寸(56.4厘米)。 显示器的PPI 我们假设显示器是方形像素,那么显示器的PPI是由它的分辨率和长宽共同决定的。 即显示器的横向PPI=显示器的横向分辨率(Px)/显示器的宽度(in)。 我们常说的显示器的英寸数,是其对角线的长度。 对于16:9的显示器来说,PPI可以这样计算: PPI = sqrt { (像素宽 * 像素高) / [16 * 9 * 英寸数^2 / (16^2 + 9^2)] } 举例来说,1920*1080像素的24寸显示器,PPI就是: PPI = sqrt { (1920 * 1080) / [16 * 9 * 24^2 / (16^2 + 9^2)] } ≈ 91.7878 下面的表格计算了常见显示器尺寸的PPI,你可以用这个公式检验:
2023-12-04 16:28:311

Android中常见的单位ppi,dp,dpi,sp,px

在android 开发过程中,我们使用的单位比较少,一般情况下在描述字体大小的时候我们通常用sp,而在设置间距的时候我们用dp,除此之外很少再用到其他单位,而且很多时候我们用着用着就习惯了,也不去探究为什么这么写,可不可以用其他单位,每个单位到底代表着什么意思,所以说,习惯真的很可怕呀。今天,我们就来一探究竟,看看这些单位背后的含义。 像素即是屏幕上显示数据的最基本的点,在PS里面也是其最根本的单位,所有的图形都是在此基础上生成的,平时我们经常讲的手机屏幕分辨率就是以像素作为单位的,比如在android中我们经常说的手机像素是1080X1920,其实它所表达的意思是在该手机上面在横向上面有1080个像素点,在纵向上有1920个像素点。 在android中用来形式字体大小的单位,正常情况下会按照手机系统设置的文本大小来显示文字,但是同时也会与系统设置的文本保持一致,比如在有些老年机上面为了更好的操作手机有些人会将字体设置为较大字体,这个时候使用sp作为单位的字体也会随之变大,但是如果将字体大小的单位设置为dp,则不会随着系统字体的变化而变化。 在每次的手机厂商新品发布会上,我们都会听到关于手机的介绍,比如手机的屏幕分辨率,多大尺寸等等。而当我们知晓一个手机的屏幕分辩率和手机尺寸的时候,就可以计算出手机的物理像素密度,其计算公式为: 需要注意的是,PPI是Android手机物理像素密度,而非在Android开发过程中我们经常说到的像素密度。 屏幕密度与dpi密切相关,dpi是每英寸的点数。也就是说,密度越大,每英寸内容纳的点数就越多。 在android.util包下有个DisplayMetrics类可以获得密度相关的信息。最重要的是densityDpi这个成员,它有如下几个常用值: DENSITY_LOW = 120 DENSITY_MEDIUM = 160 //默认值 DENSITY_TV = 213 //TV专用 DENSITY_HIGH = 240 DENSITY_XHIGH = 320 DENSITY_400 = 400 DENSITY_XXHIGH = 480 DENSITY_XXXHIGH = 640 dpi的值主要是通过displayMetrics获取的,获取方式为: val densityDpi = resources.displayMetrics.densityDpi。 dp和dip是一样的,设备独立像素,这个和设备硬件有关,不同设备有不同的显示效果。而通常在做android项目的时候,为了适配市场上面众多的手机屏幕分辩率,我们一般都会采用dp。dp是Android基于物理设备的PPI抽象出来的一个单位。它是以160dpi的屏幕为基准定义的,在160dpi的屏幕上1dp=1px,那么由此我们就可以得出其计算公式: 换算公式:1dp = (屏幕ppi/160)px或者是px = (屏幕ppi/160)*1dp。举个例子:假设ppi = 320,那么1dp = 2px。 下面我们来演练一下: 如图所示,手机的屏幕分辩率为1080X1920,尺寸为5寸,从而计算得出PPI的值为440,再通过PPI计算出1dp 约等于3px。假设现在美工给的图上面有一个a图标,距离顶部的距离为30px,那么根据最终我们的换算结果可知,我们设置为10dp就可以达到完美的显示效果。
2023-12-04 16:28:581

1080p最小宽度dp

Android 适配-最小宽度限定符 values-sw"xxx"dp 适配。1、以320dp作为最小宽度生成其它最小宽度资源。320dp基准:<dimen name="size320">320dp</dimen> 存放到默认values文件夹中。2、生成其它最小宽度资源,比如想得到400dp最小宽度的,则用400/320*(1dp-320dp)。320dp最小宽度基准:计算出4000dp最小宽度基准:values-sw400dp得到values-sw400dp的资源,如果需要其它的资源,进行计算之后生成即可。3、匹配最小宽度限定符的原理。小端屏幕分辨率 / 密度(density),得到的结果,和定义的最小宽度资源匹配。比如宽高1080x1920或者是宽高1920x1080,都是使用像素小的那边1080计算。在下图中,可以知道最小宽度是1080, 密度缩放比(density)是2.625,则1080/2.625=411.42,比定义的values-sw400dp大,而比定义的values-sw520dp要小,则最终会匹配到values-sw400dp。注意计算出的值需要大于定义的某个最小宽度,才能匹配,如果小于则不会匹配,这是会默认使用values的,所以在该文件夹里需要放一份,不然APP会闪退。匹配对之后,就直接取相应值,然后再结合Android内部缩放机制,进行缩放。比如匹配到的是values-sw400dp,我设置android:layout_width="@dimen/size160",会去取values-sw400dp下对应的资源<dimen name="size160">200.0dp</dimen>,相当于实际给的值是200dp,最后就使用通常dp单位的显示机制了。这样子在各个手机分辨率下显示的大小比例,比直接使用dp单位,匹配的更好。4、在同时适配手机和平板时,其效果更佳明显,比如1080*1920的平板,其密度可能是1,那么1080/1=1080,则匹配最小宽度1080,只需要生成一份values-sw1080dp的资源文件即可,取值后,因为密度是1,直接显示所取值的大小,这时候1dp=1px.————————————————版权声明:本文为CSDN博主「qq_16962587」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。原文链接:https://blog.csdn.net/qq_16962587/article/details/107914016
2023-12-04 16:29:061

dip sp px dpi 分辨率等尺寸的区别

ldpi QVGA (240×320) mdpi HVGA (320×480) hdpi WVGA (480×800),FWVGA (480×854) xhdpi 720P(1280*720) xxhdpi 1080p(1920*1080 ) xxxhdpi 4K(3840×2160) 4:3 VGA 640*480 (Video Graphics Array) QVGA 320*240 (Quarter VGA) HVGA 480*320 (Half-size VGA) SVGA 800*600 (Super VGA) 5:3 WVGA 800*480 (Wide VGA) 16:9 FWVGA 854*480 (Full Wide VGA) HD 1920*1080 High Definition QHD 960*540 720p 1280*720 标清 1080p 1920*1080 高清 像素 密度 HVGA mdpi WVGA hdpi FWVGA hdpi 720P(1280*720) xhdpi 1080P(1920*1080) xxhdpi 密度 建议尺寸 mipmap-mdpi 48 * 48 1 mipmap-hdpi 72 * 72 1.5 mipmap-xhdpi 96 * 96 2 mipmap-xxhdpi 144 * 144 3 mipmap-xxxhdpi 192 * 192 4 1.计算dpi ----> 单位英寸下的像素 例如有一台手机,屏幕4寸,分辨率480X800,它的dpi如何算呢? 因为不知道边长,肯定不能分开算,4是对角线长度,那直接用勾股定理算对角线像素,除以4,算出来大概是 dpi = 233 像素/英寸。 那么density就是 (233 px/inch)/(160 px/inch)=1.46 左右 顺便说下,android默认的只有3个dpi,low、medium和high,对应 120、160、240,如果没有特别设置,所有的dpi都会被算成这3个,其中default的为160. 2. 计算 dp 与 px 我们写布局的时候,肯定还是要知道1个dp到底有多少px的。 换算公式如下: dp = (DPI/(160像素/英寸))px = density px 注意,这里都是带单位的。px是单位,dp是单位,density没单位。 为了方便,假设dpi是240 像素/英寸 , 那么density就是1.5 那么就是 dp=1.5px ,注意这是带了单位的,也就是 设备无关像素 = density 像素 那么转换为数值计算的话,应该是下面这个式子    PX = density * DP
2023-12-04 16:29:131

iOS、Android 开发单位换算及 UI 切图要求

在移动端 UI 设计中,经常会用到的单位有 4 种:px、pt、dp 和 sp,很多人分辨不清这几种单位及其换算关系,以及 iOS 和 Android 的切图要求,我在这里做下简单的介绍,希望大家读完后能有所收获(如有错误,欢迎纠正)。 px 即 pixel,像素点,电子屏幕上组成图像的最基本单位,在描述屏幕分辨率时也会使用该单位。1px 表示一个像素,例如 iPhone 8 的尺寸为 750px × 1334px,表示在该手机屏幕上,水平方向每行有 750 个像素点,垂直方向每列有 1334 个像素点。 pt 即 point,有两个含义:一是印刷行业常用单位,是一个标准长度单位,绝对大小,1pt = 1/72 英寸 = 0.35mm;二是 iOS 开发用的基本单位,当设计师以 1 倍尺寸进行设计 (375pt × 667pt) 并给出标注稿时,开发人员无需除以 2 便可直接使用。 dp 是安卓开发用的基准单位,在 dpi (屏幕像素密度,即每英寸包含的像素点) 为 160 的屏幕为上,1dp = 1px。为了简单起见,Android 把屏幕密度分为了 5 种:mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi,下文会详细介绍其换算关系。 在安卓系统里,sp 与 dp 类似,不同的是 sp 可以根据用户的字体大小首选项进行缩放,而 dp 则不会。 尽量使用 dp 作为空间大小单位,sp 作为文字相关大小单位,例如:新闻类和短信类等大篇幅文本,推荐使用 sp 为单位。 在 iOS 开发中,不同机型的 iPhone 设备需要用到不同倍率的切图,下表格为各 iPhone 机型显示屏参数对比: 这里再简单了解下两个概念,ppi 和 dpi。 ppi (iOS):即 pixel per inch,屏幕像素密度,表示每英寸所包含的像素点,该值越高,屏幕越细腻。 dpi (iOS) :开发像素密度,表示每英寸所包含的开发像素点。 在 iOS 开发中,规定以 ppi = 163,dpi = 163 作为开发基准, 当 ppi = 163,dpi = 163 时,则 1pt = 1px; 当 ppi = 326,dpi = 163 时,则 1pt = 2px; 当 ppi = 401,dpi = 154 时,则 1pt = 2.6px ≈ 3px。 (为什么 iPhone 8+/7+/6+ 的开发基准是154?可能要问问苹果了...) 依此类推,得出换算公式一: 若有小数,四舍五入即可。 在 iOS 开发中,目前只需要 @2x 和 @3x 两种切图,所以导出 2 倍和 3 倍的 png 图片即可。导出前注意检查切图是否存在半像素、毛边等情况,保证对齐像素,这样才能有效避免上线后页面上的 icon 出现虚边的问题,提高细节质量。 另外补充一点:从整体开发尺寸看,iPhone 8 是 375 × 667 pt (@2x),而 iPhone X 是 375 × 812 pt (@3x),同样的宽度,一个用 @2x 图,一个用 @3x 图,iPhone X 表现出了更高的清晰度,如图 2-1 所示。 在 Android 开发中,因为机型参差不齐,需要用屏幕密度来区分设计。 注意,这里的 dpi (Android) 和上文的 dpi (iOS) 是不同的概念,dpi (iOS) 是开发像素密度,而 dpi (Android) 即 dot per inch,表示屏幕像素密度 ,类似 iOS 开发里的 ppi。 Android 中,规定以 dpi = 160 为开发基准, 当 dpi = 160,基准dpi = 160,1dp = 1px; 当 dpi = 240,基准dpi = 160,1dp = 1.5px; 当 dpi = 320,基准dpi = 160,1dp = 2px。 依此类推,得出换算公式二: 在设计图标时,对于 5 种主流的屏幕像素密度 (mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi) 应按照 2:3:4:6:8 的比例进行缩放,如图 3-1 所示。 例如,一个启动图标的尺寸为 48 × 48 dp,这表示在 mdpi 的屏幕上其实际尺寸应为 48 × 48 px;在 hdpi 的屏幕上其实际大小是 mdpi 的 1.5 倍 (72 × 72 px);在 xhdpi 的屏幕上其实际大小是 mdpi 的 2 倍 (96 × 96 px),依此类推。 在某些况行下,还需要提供一种特殊的切图: 点九图 (上图所示)。点九图是 Android 开发中用到的一种特殊格式的图片,文件名以 “.9.png” 结尾。 这种图片能告诉程序,图像哪一部分可以被拉升,哪一部分不能被拉升需要保持原有比列。运用点九图可以保证图片在不模糊变形的前提下做到自适应,比如对话框背景图片就会用到点九图。 -- 以上是全部内容,感谢你的阅读! End
2023-12-04 16:29:311

android dp和dip的区别

Android中,dp是Density-independent Pixels简写,而dip则是Density Independent Pixels,实际上指的是一个概念,都是Android的单位。dp等同于dip,它是一个长度单位,1dp=1/160英寸。dp这个单位的意义在于:你可以根据看到的实际大小,在应用中设置对应的dp值,而使得不同的设备上看起来一样大。详情请见:http://blog.csdn.net/chenyufei1013/article/details/8363619
2023-12-04 16:29:502

720x1280与1080x1920设计尺寸各是多少

这个是屏幕分辨率,因为像素密度不同所以屏幕尺寸都不一样。
2023-12-04 16:30:001

dp/m是什么单位

没有找到dp/m的单位,最相近的是dpm,dpm是幽门螺旋杆菌的单位,幽门螺旋杆菌检测有碳十三和碳十四检测标准值也是不一样。碳十四的标准值在100dpm以内,一百以内为阴性,一百以上为阳性,碳十三呼气试验幽门螺旋杆菌检测的正常值是0-4dpm,超过4话说明胃内有幽门螺旋杆菌感染。
2023-12-04 16:30:183

Android DPI相关知识

手机屏幕的像素点数,一般描述成屏幕的"长 * 宽",安卓手机常见的分辨率有480 * 800, 720 * 1280, 1080 * 1920 480 * 800表示在宽度方向有480个像素,在长度方向有800个像素 屏幕大小是手机对角线的物理尺寸,以 英寸 为单位,如5英寸手机,即对角线长度为:5 * 2.54厘米/英寸 = 12.7厘米 屏幕密度指的是每英寸的像素点数 假设一个5英寸1080 * 1920手机,则 可通过勾股定理得到对角线有2203个像素 ,从而得到屏幕密度DPI为: 2203 / 5 = 440 ,即手机DPI为440 安卓系统设定的固定密度范围是: NOTE:Android是以160dpi为基准屛,此时1dp = 1px mdpi:hdpi:xhdpi:xxhdpi:xxxhdpi = 1 : 1.5 : 2 : 3 : 4
2023-12-04 16:30:251

dp和dip到底是不是一回事儿?

目前最新的SDK是推荐dp这个单位,其实在真正开发过程中,无论是dp还是dip都不怎么会影响到显示效果;第二个问题,你可以在类里面获取屏幕的宽度,然后设置这个值就可以了,不知道是否有帮助。
2023-12-04 16:30:352

android中px,dp,dip和sp有什么不同?

px就是一个像素宽度-独立像素(设备),设备独立像素(dip)是你想使用的设备的字体大小,而且设备独立像素对于所有的事情。在这里设备独立像素——dphttp://developer.android.com/guide/topics/resources/more-resources.html#DimensionPx像素-相当于屏幕上的实际像素。In英寸-基于屏幕的物理尺寸Mm毫米-基于屏幕的物理尺寸Pt点-基于屏幕的物理尺寸,英寸的72分之一Dp密度-独立像素-一个基于屏幕的物理密度的抽象的单位。这个单位和160分辨率的屏幕是成比例的,所以在一个160分辨率的屏幕下,1dp就是1px。Dp和像素的比率将会随着屏幕的密度改变而改变,但是并不一定就是正比。注意:编译器既接受“dip”也接受“dp”,尽管dp比sp更符合。Sp刻度-独立像素-它就像dp单位,但是它也取决于用户偏好的字体大小。当指定字体大小的时候,我推荐您使用这个单位,因为它既调整了屏幕的密度,也调整了使用者的偏好。
2023-12-04 16:30:421

图中的屏幕分辨率(db)是什么意思?为什么还有一个分辨率?两个的区别?

dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px,你的像素密度是320dpi,那么1dp = 2 px.其中px是像素的意思,dpi是dots per inch,每英寸点数,dpi越高,屏幕效果越细腻,看不出像素的方块。
2023-12-04 16:30:511

px和dp的换算

dp和px的换算公式 :dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。dp也就是dip:device independent pixels(设备独立像素)。dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp = 1px。px(像素):屏幕上的点。
2023-12-04 16:31:191

px和dp的换算是什么意思?

dp和px的换算公式 :dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。dp也就是dip:device independent pixels(设备独立像素)。dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp = 1px。px(像素):屏幕上的点。
2023-12-04 16:31:261

dp和px之间的换算公式

dp和px的换算公式 :dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。dp也就是dip:device independent pixels(设备独立像素)。dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp = 1px。px(像素):屏幕上的点。
2023-12-04 16:31:352

在ui入门学习中,dp和 px怎么换算?

dp和px的换算公式 :dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。dp也就是dip:device independent pixels(设备独立像素)。dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp = 1px。px(像素):屏幕上的点。
2023-12-04 16:31:452

1dp等于多少px iphone 6

dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:在320x480分辨率,像素密度为160,1dp=1px在480x800分辨率,像素密度为240,1dp=1.5px计算公式:1dp*像素密度/160 = 实际像素数px(像素):屏幕上的点.dp(与密度无关的像素):一种基于屏幕密度的抽象单位.在每英寸160点的显示器上,1dp = 1px.
2023-12-04 16:31:521

分辨率中DP是什么意思?

长度单位(设备独立像素)。在android系统中单位DP也就是DIP:device independent pixels(设备独立像素).x0dx0adip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。x0dx0apx: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。x0dx0apt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;x0dx0asp: scaled pixels(放大像素). 主要用于字体显示best for textsize。x0dx0adp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换.
2023-12-04 16:32:011

分辨率中DP是什么意思?

长度单位(设备独立像素)。在android系统中单位DP也就是DIP:device independent pixels(设备独立像素).x0dx0adip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。x0dx0apx: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。x0dx0apt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;x0dx0asp: scaled pixels(放大像素). 主要用于字体显示best for textsize。x0dx0adp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换.
2023-12-04 16:32:091

1dp 等于多少PX

不能换算,dp和px不是同类型的数量单位。1、dpDP,全称device independent pixels,中文是设备独立像素,是长度单位。DP在不同设备有不同的显示效果,这个和设备硬件有关。2、pxPX是Pixel的缩写,中文是像素,是指基本原色素及其灰度的基本编码,由 Picture(图像) 和 Element(元素)这两个单词的字母所组成的,如同摄影的相片一样,数码影像也具有连续性的浓淡阶调。像素的大小是会“变”的,也称为“相对长度”。越高位的像素,其拥有的色板也就越丰富,越能表达颜色的真实感。扩展资料:设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换。参考资料来源:百度百科——DP参考资料来源:百度百科——PX
2023-12-04 16:32:251

分辨率中DP是什么意思?

长度单位(设备独立像素)。在android系统中单位DP也就是DIP:device independent pixels(设备独立像素).dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换.
2023-12-04 16:32:511

40dp 等于多少px

  dp是虚拟像素,在不同的像素密度的设备上会自动适配。  比如:在320x480分辨率,像素密度为160,1dp=1px  在480x800分辨率,像素密度为240,1dp=1.5px  dp和px的换算公式 :  dp*ppi/160 = px。  比如:1dp x 320ppi/160 = 2px。  计算公式:1dp*像素密度/160 = 实际像素数  在像素密度为160,40dp=40px
2023-12-04 16:32:581

手机上的图标是32×32dp,dp是什么意思?

手机上的图标是32×32dp,dp是长度单位。设备独立像素的意思。dp是一种物理测量单位,基于计算机控制的坐标系统和抽象像素(虚拟像素),由底层系统的程序使用,转换为物理像素的应用。用途是允许移动设备软件将信息显示和用户交互扩展到不同的屏幕尺寸。允许应用程序以抽象像素为单位进行测量,而底层图形系统将应用程序的抽象像素测量值转换为适合于特定设备的物理像素。扩展资料dp与ppi计算:dp = dx * (dpi / 160)。例如,在 240 dpi 屏幕上,1 dp 等于 1.5 物理像素。Android系统以“中”密度屏幕假设的基线密度,故该公式中dpi除以160dpi。在定义应用的 UI 时应始终使用 dp 单位 ,以确保在不同密度的屏幕上正常显示 UI。位图缩放可能导致模糊或像素化位图。为避免这些伪影,应为不同的密度提供替代的位图资源。参考资料来源:百度百科-DP
2023-12-04 16:33:251

ui设计需要会dpi ppi px dp换算吗

需要的介绍下各自的定义:  px: pixel,像素,电子屏幕上组成一幅图画或照片的最基本单元  pt: point,点,印刷行业常用单位,等于1/72英寸  ppi: pixel per inch,每英寸像素数,该值越高,则屏幕越细腻  dpi: dot per inch,每英寸多少点,该值越高,则图片越细腻  dp: dip,Density-independent pixel, 是安卓开发用的长度单位,1dp表示在屏幕像素点密度为160ppi时1px长度  sp: scale-independent pixel,安卓开发用的字体大小单位。  以下是换算关系:  一、pt和px  公式一: 1pt= (DPI / 72) px  当photoshop中新建画布的分辨率为72ppi( 即 72dpi时 ), 1pt=1px; 当新建画布分辨率为72*2=144ppi时,1pt=2px  二、ppi和dpi  dpi最初用于衡量打印物上每英寸的点数密度。DPI值越小图片越不精细。当DPI的概念用在计算机屏幕上时,就应称之为ppi。同理: PPI就是计算机屏幕上每英寸可以显示的像素点的数量。因此,在电子屏幕显示中提到的ppi和dpi是一样的,可认为  公式二:dpi=ppi  三、ppi计算方法  ppi是指屏幕上的像素密度,其计算方法为:  公式三: ppi= 屏幕对角线上的像素点数/对角线长度 = √ (屏幕横向像素点^2 + 屏幕纵向像素点^2)/对角线长度  以小米2s为例,该屏幕分辨率为720px*1280px,4.3英寸。则点密度为 √ (720^2 +1280^2) /4.3 = 342ppi。  四、px和dp  dp为安卓开发时的长度单位,根据不同的屏幕分辨率,与px有不同的对应关系。  安卓端屏幕大小各不相同,根据其像素密度,分为以下几种规格:  1dp定义为屏幕密度值为160ppi时的1px,即,在mdpi时,1dp = 1px。 以mdpi为标准,这些屏幕的密度值比为:ldpi : mdpi : hdpi : xhdpi : xxhdpi = 0.75 : 1 : 1.5 : 2 : 3;即,在xhdpi的密度下,1dp=2px;在hdpi情况下,1dp=1.5px。其他类推。  公式四: 1dp=(屏幕ppi/ 160)px  以WVGA屏为例,该屏幕为480px*800px,按3.8寸屏算,点密度 √ (480^2 + 800^2) / 3.8 = 245,约等于240,对应于hdpi屏幕,所以该屏幕1dp=1.5px  五、dp和sp  dp和sp都是安卓的开发单位,dp是长度单位,sp是字体单位。sp与dp类似,但是可以根据用户的字体大小首选项进行缩放。Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),  公式五:当文字尺寸是“正常”时1sp=1dp,而当文字尺寸是“大”或“超大”时,1sp>1dp。  一般情况下可认为sp=dp。  总结:由于做设计时以xhdpi为模板,xhdpi条件下,1dp=2px。若新建画布时,将画布分辨率设为144ppi,则1pt=2px=1dp。此时,即可将pt等同于dp。标注长度的时候,将长度像素除以2即为dp值。  PS:在photoshop cc中切图时,可直接在.png 图片图层名称前加上200%获得2倍大小的图,其他比例的切图以此类推。输出的两倍图不模糊的前提是,该图是photoshop中用形状工具画出来的未被栅格化的图形,而不是已被栅格化的图层或外部导入的图片。
2023-12-04 16:33:421

265dp在电脑屏幕上看是多少px

dp和px的换算公式 :dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。dp也就是dip:device independent pixels(设备独立像素)。dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp = 1px。px(像素):屏幕上的点。
2023-12-04 16:33:481

分辨率中DP是什么意思?

长度单位(设备独立像素)。在android系统中单位DP也就是DIP:device independent pixels(设备独立像素).dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用px作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来TextView的宽度设成160px,在密度为320的3.2寸屏幕里看要比在密度为160的3.2寸屏幕上看短了一半。但如果设置成160dp或160sp的话。系统会自动将width属性值设置成320px的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用dp和sp,系统会根据屏幕密度的变化自动进行转换.
2023-12-04 16:34:112

96px等于多少dp

dp是虚拟像素,在不同的像素密度的设备上会自动适配,比如:在320x480分辨率,像素密度为160,1dp=1px在480x800分辨率,像素密度为240,1dp=1.5px计算公式:1dp*像素密度/160 = 实际像素数
2023-12-04 16:34:252

分辨率和dpi的换算是什么?

1、dpi就是每英寸面积上有100个点,分辨率可以根据这个和实际面积计算。目前国际上都是计算一英寸面积内像素的多少。2、转换的公式为:px=dp*(dpi/160)。dp为安卓开发时的基本长度单位,根据不同的屏幕分辨率,与px有不同的对应关系。3、DPI是指每英寸的像素。lpi即每英寸行数。PPI(PixelsPerInch)表示的是每英寸所拥有的像素数量。DPI:DPI是指每英寸的像素,也就是扫描精度。4、dpi指的是像素密度,这个数值越大,单位面积内的像素点越多。同样尺寸的屏幕,dpi越大屏幕分辨率就越大。同样dpi的屏幕,屏幕尺寸越大分辨率就越大。同样分辨率的屏幕,dpi越大屏幕尺寸就越小。5、先从定义上了解一下分辨率和DPI。分辨率:分辨率可以从显示分辨率与图像分辨率两个方向来分类。显示分辨率(屏幕分辨率):是指屏幕显示图像的精密度,是指显示器所能显示的像素有多少。
2023-12-04 16:34:311

dp与px的区别是什么啊?

dp和px的换算公式 :dp*ppi/160 = px。比如1dp x 320ppi/160 = 2px。sp:Scale-independent pixels,它是安卓的字体单位,以160PPI屏幕为标准,当字体大小为 100%时, 1sp=1px。dp也就是dip:device independent pixels(设备独立像素)。dp是一种与密度无关的像素单位,在每英寸160点的屏幕上,1dp = 1px。px(像素):屏幕上的点。
2023-12-04 16:34:411

px,dp和sp,这些单位有什么区别

px:即像素,1px代表屏幕上一个物理的像素点;sp:与缩放无关的抽象像素(Scale-independent Pixel)。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。dp:这个是最常用但也最难理解的尺寸单位。它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度,像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量。横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。
2023-12-04 16:34:571

安卓UI设计成720*1280,那给开发的尺寸1px等于多少dp

安卓的分辨率达到720*1280,那么它的基本尺寸应该是72dp。 dp: 这个是最常用但也最难理解的尺寸单位。 它与“像素密度”密切相关,所以首先我们解释一下什么是像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度,像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量。横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。 不同的手机/平板可能具有不同的像素密度,例如同为4寸手机,有480x320分辨率的也有800x480分辨率的,前者的像素密度就比较低。Android系统定义了四种像素密度:低(12 0dpi)、中(160dpi)、高(240dpi)和超高(320dpi),它们对应的dp到px的系数分别为 0.75、1、1.5和2,这个系数乘以dp长度就是像素数。例如界面上有一个长度为“80dp” 的图片,那么它在240dpi的手机上实际显示为80x1.5=120px,在320dpi的手机上实际显示为 80x2=160px。如果你拿这两部手机放在一起对比,会发现这个图片的物理尺寸“差不多”,这就是使用dp作为单位的效果。
2023-12-04 16:36:001

猜你想看