首页 > 试题广场 >

在 Android 中,在屏幕密度为 160 时, 1pt

[单选题]
在 Android 中,在屏幕密度为 160 时, 1pt 大概等于多少 sp()
  • 1.22
  • 2.22
  • 2.12
  • 1.12
160sp=160dip=1in=72pt
发表于 2015-09-01 15:30:00 回复(0)

dp(dip) : device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
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: pixels(像素) . 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
sp: scaled pixels(放大像素) . 主要用于字体显示best for textsize。

重要补充

px = (density/160)dp
density一般为3个常用固定值240/160/120
分别对应WVGA/HVGA/QVGA
不知道知己做的分辨率对应的density是多少可以点击AVD Manager里新建一个模拟器或者选择已有的模拟器点details就可以看到了(1.6以上包括1.6才可以查)
补充:dp跟dip是一样的,但px跟dp(dip)绝对不一样,唯一的情况只有在HVGA分辨率下才是一样,因为HVGA分辨率对应density为160,与除数一样,所以做的时候才会没感觉到差别

发表于 2016-02-21 14:34:28 回复(0)
dpi(dots per inch)为160的情况下, 1dp=1sp=1px 每英寸有160个像素点。而1英寸=72磅(pt) 也就是160sp=160dip=1in=72pt 因此:1pt=160/72=2.22sp
发表于 2018-09-19 13:27:37 回复(0)
       分辨率:整个屏是多少点,比如800x480,它是对于软件来说的显示单位,以px为单位的点。 density(密度)值表示每英寸有多少个显示点,与分辨率是两个概念。
      160sp=160dip=1in=72pt
发表于 2016-05-18 15:22:29 回复(0)
B    受教了



 在 Android 中,  1pt 大概等于 2.22sp以上供参考,
      与分辨率无关的度量单位可以解决这一问题。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. 
发表于 2015-07-10 23:21:21 回复(0)
b
    在 Android 中,  1pt 大概等于 2.22sp以上供参考,
      与分辨率无关的度量单位可以解决这一问题。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.
发表于 2015-03-03 10:15:13 回复(6)
【答案】B
【解析】屏幕密度为160,则说明每英寸有160个px,即160px = 1in。又因为此时有1sp = 1dip = 1px(注意:只有当屏幕密度为160时,此等式才成立),所以有160sp = 1in。再加上1pt = 1/72in,即72pt = 1in。所以可得等式72pt = 160sp,化简得1pt ≈ 2.22sp。所以选B。

相关单位讲解:
  • px(像素):每一个px对应屏幕上的一个点。
  • dip或dp(device independent pixels,设备独立像素):一种基于屏幕密度的抽象单位。在每英寸160点(即屏幕密度为160)的显示器上,1dip = 1px。但随着屏幕密度的改变,dip与px的换算会发生改变。
  • sp(scaled pixels,比例像素):主要处理字体的大小,可以根据用户的字体大小首选项进行缩放。
  • in(英寸):标准长度单位。
  • pt(磅):标准长度单位,1/72in。
发表于 2016-10-06 14:09:47 回复(0)
一个pt是1/72英寸,1英寸有160个px也就是160个dp或者sp。 那么1pt就有160/72个sp。 屏幕密度为240时,1dp=1.5px,那么1英寸就有160dp。 因此,1pt就大约等于2.22sp,跟密度无关喽?
发表于 2016-01-02 23:21:08 回复(0)
就特么我不知道pt么,从来没用过
发表于 2018-02-07 16:53:28 回复(0)
服了,这些年就没用过ptsp
发表于 2023-11-17 22:08:58 回复(0)
160/72
发表于 2022-02-10 08:38:43 回复(0)
在 Android 中,  1pt 大概等于 2.22sp以上供参考,
      与分辨率无关的度量单位可以解决这一问题。Android支持下列所有单位。
       px(像素):屏幕上的点。
       in(英寸):长度单位。
       mm(毫米):长度单位。
       pt(磅):1/72英寸。
       dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。
       dip:与dp相同,多用于android/ophone示例中。
       sp(与刻度无关的像素):与dp类似,但是可以根据用户的字体大小首选项进行缩放。


发表于 2020-05-16 09:41:23 回复(0)
直接除以72
发表于 2019-08-03 08:53:03 回复(0)

dp = 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

发表于 2019-01-20 16:18:11 回复(0)
难道只有我是看到它222,才选的吗?

发表于 2018-10-07 20:56:28 回复(0)
谢头像
现在开发中有使用pt单位的么?那些场景有用啊
发表于 2017-07-10 11:21:16 回复(1)
因为,ppi=160
所以,px=1/160英寸
因为,sp=dp=(160 × px)/ ppi = px
所以,pt / sp = pt / px = 160 / 72 = 2.22
故选B。
问题的关键是搞清楚这些单位的含义。代入公式计算即可。
发表于 2017-06-28 15:19:00 回复(0)
简单总结一下吧:
首先,android中字号使用单位sp  普通控件的宽和高一般使用dp(dip和dp可以认为是一样的)
160sp=160dip=1in=72pt
所以:1pt=160/72=2.22sp

编辑于 2017-04-26 19:09:29 回复(0)
在屏幕密度为160时 1dp=1px 当屏幕密度为240时 1dp=1.5px
编辑于 2017-03-08 16:39:06 回复(0)
1pt(磅)=1/72inch
1dip(device independent pixels )=1dp(多用来设置宽、高)=1sp(多用来设置字体)
dpi (Dots Per Inch),指每英寸的像素
1px=(dpi/160)dp
现在dpi=160,所以1px=1dp=1sp
1inch=72pt=160px=160sp
所以1pt=(160/72)sp

发表于 2017-03-05 11:39:32 回复(0)