导航:首页 > 操作系统 > androiddppxdpi

androiddppxdpi

发布时间:2022-10-23 18:45:27

android中dip,dp,sp,pt和px的区别

dip: device independent pixels(设备独立像素). 一般我们为了支持多种分辨率如WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
dp: dip是一样的,谷歌官方推荐使用这个
px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较少。
pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。

㈡ android dpi是什么意思

DPI表示分辨率,指每英寸长度上的点数.DPI又可细分为水平分辨率和垂直分辨率;
修改 /system/build.prop 文件,修改 ro.sf.lcd_density 的值,默认是 ro.sf.lcd_density=320。
修改后保存退出,重启。
安卓手机的屏幕分辨率如今也已然达到了这2K的程度,通过修改这手机的dpi可以控制这程序在屏幕上显示的数量,而且字体也会有一定的变化,有兴趣的的用户可以试一试。

㈢ android安卓系统dp/sp/px换算表比率 ratexxxhdpi是多少

首先要明确两点,什么是dpi?什么是dp?
dpi = dots per inch(每个inch上有多少个点)
160dpi的屏幕,1dp = 1px,也就意味着1dp = 1/160 inch。
所以每个inch上的点数越多(点的密度越大),每个dp对应的px也就越大

dp/sp可以认为是相同的,不过sp通常用于设置字体大小,而dp用于尺寸。
dp/sp与px换算,是和设备的density相关的,dp * density (密度)= px。
float density = Resources.getSystem().getDisplayMetrics().density;

所谓的xhdpi,其dpi并不是某一固定取值,只要在240~320dpi范围内的都认为是xhdpi(mdpi/hdpi/xhdpi/xxhdpi类似)。
所以同样是xhdpi的手机,dp和px的转换也是不同的。

㈣ 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就可以达到完美的显示效果。

㈤ px,dp,dip,dpi,sp 等到底有什么联系区别

px(像素)是我们UI设计师在PS里使用的(不解释),同时也是手机屏幕上所显示的(也不解释)
dp是开发写layout的时候使用的尺寸单位,sp是开发写layout时关于字体的字号单位,且dp与sp总为1:1关系。

Android支持四种不同的dpi模式:ldpi mdpi hdpi xhdpi

一般地,手机分辨率与所运行的dpi模式是匹配的,例如hvga(320x480像素)的手机屏幕一般在3.5英寸左右,运行在mdpi模式下(也有例外,稍后解释)(这个是ROM控制的,app不能改变)。当运行在mdpi下时,1dp=1px:也就是说设计师在PS里定义一个item高48px,开发就会定义该item高48dp;Photoshop中14px大的字体,开发会定义为14sp。

对于一部wvga(480x800)手机(G7、N1、NS),一般是运行在hdpi模式下。当运行在hdpi模式下时,1dp=1.5px:也就是说设计师在PS里定义一个item高72px,开发就会定义该item高48dp;Photoshop中21px大的字体,开发会定义为14sp。

所以,当你的app需要适配多个dpi模式的时候(例如同时适配mdpi与hdpi),若你在wvga下做设计,你需要将你的各数值都为3的倍数,并在切图标注时将所有的数字除以3乘以2换算成dp,这样开发的同一套layout就能用在两个不同的dpi模式下,而不是写两套layout。

mdpi与hdpi是2:3的关系
mdpi与xhdpi是1:2的关系
ldpi与mdpi是3:4的关系

Galaxy Nexus 是720P屏幕,就是运行在xhdpi下的。

可以想见为什么iOS的开发者升级到 Retina Display 是多么的无痛

再补充一种例外,有些比较山寨的Pad有可能是7英寸屏幕,分辨率为wvga(480x800)运行在mdpi下,所以一部wvga手机是320x533dp,一部wvga平板是480x800dp,可以显示的内容会多很多。

我语言没有梳理的很清楚,希望你看得懂:P

㈥ 像素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。其他类推。

㈦ 这一次要帮你彻底搞明白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像素/厘米)

㈧ 图解android开发中dp和px的区别

px是像素,dp是密度比,如果你是安卓开发人员建议使用dp。

㈨ 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;

㈩ 新手Android中px=dp*(dpi/160)的解释

在160dpi的手机上1px=1dp,这句话的以上是说,手机屏幕宽带被分割成了160块,每一块有一个像素点,每一块就是一个dp。 那么1dp=1px

而320dpi的手机上,分辨率是上一个手机的两倍,手机屏幕宽带也被分割成了160块,每一块有两个像素点,每一块也是一个dp,那么1dp=2px

上面分析来自于android学习手册,360手机助手中可以下载,里面有108个android例子,源码文档都可在里面看,下面是截图

java">importandroid.content.Context;

publicclassDensityUtil{

/**
*根据手机的分辨率从dp的单位转成为px(像素)
*/
publicstaticintdip2px(Contextcontext,floatdpValue){
finalfloatscale=context.getResources().getDisplayMetrics().density;
return(int)(dpValue*scale+0.5f);
}

/**
*根据手机的分辨率从px(像素)的单位转成为dp
*/
publicstaticintpx2dip(Contextcontext,floatpxValue){
finalfloatscale=context.getResources().getDisplayMetrics().density;
return(int)(pxValue/scale+0.5f);
}
}

阅读全文

与androiddppxdpi相关的资料

热点内容
手机电音app哪个好 浏览:749
checksum命令 浏览:637
java创建xml文件 浏览:170
算命源码国际版 浏览:283
三菱模块化编程 浏览:718
控件读取文件源码 浏览:445
文件夹侧面目录标签怎么制作 浏览:232
做程序员学什么 浏览:320
pdfeditor教程 浏览:880
fortran把文件放入文件夹 浏览:709
程序员1年经验不敢投简历 浏览:481
如何看电脑的源码 浏览:897
找工作app软件哪个好 浏览:96
信息管理网站源码 浏览:439
小说app哪个好免费 浏览:224
域名在线加密 浏览:146
软件编程西安交大 浏览:453
是不是串货的奶粉查不到溯源码的 浏览:825
北京dns服务器云主机 浏览:221
openldaplinux安装 浏览:23