Galaxy Nexus的分辨率为1280x720,而Nexus 7平板电脑的分辨率为1280x800。

我意识到平板电脑的尺寸更大,但是屏幕分辨率而非屏幕尺寸决定了屏幕的显示空间。 >
为什么Nexus 7似乎可以在屏幕上显示更多内容?

编辑-我的问题不是“为什么设计这种方式”。我的问题更多是“它如何能够在屏幕上显示更多”? PPI不能解释这一点。

这仅仅是扩展的问题吗?

评论

我应该问“如何”能够做到。当我说为什么时,我不是说“为什么他们要这样设计”,而是说“为什么这在技术上是可能的?”

为什么可能呢?认真吗您使事情变得更小。

另外,如果您查看该ROM的build.prop(如果有ROM转储),则其中的一行ro.sf.lcd_density = xxx指示屏幕密度。值越高,则越适合在屏幕上显示,反之,则越不适合在屏幕上显示。

@zacharyalexstern:问它是如何完成的是开发问题,在这里不合主题。尝试StackOverflow。

#1 楼

为了理解Nexus 7为什么可以显示比Galaxy Nexus更多的内容,我将首先解释两个概念:屏幕密度和密度无关像素。

但是在我们讨论技术细节之前,可能是值得澄清使用密度无关像素的设计目标。目标是定义一个在各个设备上尺寸都相似的UI,而与屏幕大小无关。因此,在这种情况下,Galaxy Nexus和平板电脑的菜单外观是相同的(并排看起来非常相似),但是,由于屏幕更大,因此可以显示更多内容。设计人员选择适合特定尺寸的外观(以160 dpi屏幕为基础),并且在具有较高dpi的设备中,这种情况是“模拟的”。

屏幕密度

通称dpi(每英寸点数)。 Android将所有实际屏幕密度分为四个广义密度:低(120),中(160),高(240)和超高(320)。 Galaxy Nexus等设备的屏幕密度“非常高”(更具体地说,dpi值设置为320)。 Nexus 7使用的是“ tvdpi”-即213 dpi。

密度独立像素

通常称为dp。这是显示内容时使用的虚拟像素单位。与密度无关的像素等效于160 dpi屏幕上的一个物理像素。要计算dp,请使用以下公式:

px = dp * (dpi / 160)


或等效地:

dp = (px / dpi) * 160


Nexus 7可以尽管分辨率相似,但显示的内容仍比Galaxy Nexus多:Nexus 7的dpi低于Galaxy Nexus。

Galaxy Nexus(320 dpi,720像素宽)

(720 / 320) * 160 = 360 dp


Nexus 7(213 dpi,800像素宽)

(800 / 213) * 160 = 600 dp


这意味着当应用程序在Galaxy Nexus上呈现时,屏幕的宽度实际上是360 dp(使用720像素渲染)。而在Nexus 7上,屏幕的宽度为600 dp(使用800像素渲染)。

奖金

如果您的Galaxy Nexus扎根,您可以使用LCD Density Modder之类的应用,并将设备的DPI更改为240。较小的包装即可连接到Nexus 7。左侧是设备分辨率为240 dpi的屏幕截图。您会注意到,当DPI较低时,我们可以看到更多内容。



与PPI无关

其他答案提到PPI。显示的内容量与设备的PPI无关。尽管通常,供应商会选择最接近设备PPI的DPI。 (例如,Galaxy Nexus的PPI为316,但DPI​​为320,而Nexus 7的PPI为216,但使用213 DPI)。

进一步阅读

http://developer.android.com/guide/practices/screens_support.html

评论


为此,没有人真正回答我所提出的问题。

– zacharyalexstern
2012年7月8日在4:02

总体而言,这是一个很好的答案,但是“与PPI无关”段落在DPI和PPI之间做出了错误的区分。请参阅我对穆罕默德·埃萨姆(Mohammed Essam)的回答的评论。

–蜥蜴
2012年7月8日13:43

你好。我只是不明白你在说什么。您假设dpi越低,显示的内容就越多。但是,如果每英寸有100个点,那么每英寸显示的信息就会少于每英寸200个点。而且,如果将默认密度设置为接近设备ppi,则即使修改值也不能做得更好,因为据我所知,可以在许多像素上显示一个点,但是一个像素不能显示更多那一个点。

–奥利弗
2012年9月15日在11:07



嗯,这适用于桌面屏幕吗?

–奥利弗
2012年9月15日11:10



实际上,Nexus 7的DPI为213,单位为600x961 dp。参见plus.google.com/105051985738280261832/posts/6eWwQvFGLV8

– beetstra
13年5月2日在14:18

#2 楼

这是因为它们之间的每英寸像素(PPI)不同。 PPI越高,质量越高,但是屏幕尺寸(相对)较小。因此,Nexus 7每英寸216像素,而Galaxy Nexus每英寸316像素。分辨率不是全部,还必须考虑像素的密度。

高PPI值的优点是它是HD,但缺点是屏幕尺寸较小(在持续解析)。

您可以在此处阅读有关PPI的更多信息。

评论


我看不到PPI与屏幕房地产有什么关系。假设没有缩放比例,Galaxy Nexus的屏幕空间应与Nexus 7大致相同,但屏幕上的显示空间应该较小。

– zacharyalexstern
2012年6月29日在21:21

@ zacharyalexstern,PPI很重要,因为它确定字体缩放。 12点文字应该是六分之一英寸高(72pt = 1in),相当于216ppi Nexus 7上的36像素,以及316ppi Galaxy Nexus上的约53像素。其他UI元素也基于PPI缩放。

–蜥蜴
2012年6月30日下午0:08

基本上,UI元素被缩放以在设备之间以一致的物理尺寸显示。这就是为什么您可以在物理尺寸更大的设备上容纳更多这些设备的原因。

–蜥蜴
2012年6月30日下午0:12

@zacharyalexstern我不能比Wyzard更好,所以我不会。我只是支持他,因为您似乎坚持认为PPI与屏幕空间无关。我向你保证相反,它与屏幕空间有关。您是正确的,两个1280x800屏幕的像素数相同。但是,所有Android组件均按像素密度缩放。您是否为Android编程? dp这个词熟悉吗?

–user14344
2012年7月4日在2:56



@ DerekKwok,DPI是一个印刷术语,实际上并不适用于计算机显示器。当用于计算机显示器时,它通常是PPI的同义词,因为图像是由像素而不是点组成的。

–蜥蜴
2012年7月8日在13:41

#3 楼

在4.6英寸屏幕上显示相同数量的内容,在大多数情况下会使其变得很小。您将无法读取它,因此在屏幕上放置这么多内容根本没有意义。分辨率决定了多少像素您可以显示,但每个屏幕上的像素大小都不相同。要使内容可用和可读,您需要在较小的屏幕上用更多的像素,因为它们的密度更高。

比较,请在Galaxy Nexus上打开一个网页,然后将其一直缩小。在14英寸(或类似尺寸)的显示器上以相同的分辨率查看同一页面是没有问题的,但是手机上的文字几乎无法辨认。


从“如何从技术上完成”的角度来看-很大程度上取决于应用程序的编写方式。默认情况下,Android只会将界面缩放到更大的屏幕上,这可能会或可能不会导致显示更多数据(例如,考虑滚动列表:在更大的屏幕上会显示更多项目)。这是最基本的情况。但是,开发人员也可以根据屏幕大小或密度定义完全不同的布局。因此,7“设备上的布局可能与4”设备或10“设备上的布局完全无关。这为开发人员提供了很大的灵活性,可为平板电脑(和其他此类设备)创建更丰富的UI,同时保留电话UI可用。Android开发者网站上对此进行了详细介绍。

评论


要说的是,具有讽刺意味的是,谷歌正在为他们的Google+支持iPad ...不过,与布林(Brin)进行的Glass演示却是另外一回事...:D

–t0mm13b
2012年6月28日在0:26

我知道为什么这样做,我的问题更多。例如。这仅仅是扩展的问题吗?

– zacharyalexstern
2012年6月29日在21:22

@zacharyalexstern:这取决于应用程序的编写方式。如果需要,您可以编写一个应用程序以在大小不同的屏幕上使用完全不同的布局,因此,它不一定只是通常意义上的“缩放”。或者,您可以根据需要扩展应用程序。在Android开发人员网站上有相当大量的专用于此的文档,但这是一个非常基本的摘要。

–eldarerathis
2012年6月29日在21:29



#4 楼

很抱歉,您的答案很愚蠢,但是:Galaxy Nexus会使一切变大。

例如,小写字母“ a”在Galaxy Nexus上的宽度为30像素,而它只有20像素在Nexus 7上。这样,屏幕上可以容纳更多字母。正如其他人所说,它们看起来是相同的大小(例如,如果在屏幕上放上标尺,则为3mm),原因是像素密度。从本质上讲,Nexus 7基本上是更大的像素。

Galaxy Nexus可以使所有内容变大的原因是,这样您就可以实际使用它,而无需距离脸一英寸。如果字母“ a”的宽度为20个像素(例如Nexus 7),那么它会太小而无法舒适地阅读(因为像素要小得多)。

评论


我了解那不是我的问题。

– zacharyalexstern
2012年7月8日在4:00