安卓Nexus 7在Eclipse中的DPI设置

10
Nexus 7采用TVDPI,但编程应用程序时不使用它。Eclipse使用HDPI、LDPI、MDPI、XHDPI和XXHDPI文件夹。经过我的研究,我仍然没有找到确定的结论。四个不同的来源,四个不同的答案:1.33 x MDPIHDPIXHDPI没有直接答案。所以我的问题是:有人真正知道Nexus 7使用哪种密度(HDPI/LDPI/MDPI/XHDPI/XXHDPI)吗?

如果你曾经想知道手头上的设备信息:https://play.google.com/store/apps/details?id=com.jotabout.screeninfo -- 免费并且开源。救命稻草。 - 323go
3
在2013年的Nexus 7(1920x1200)上,ScreenInfo显示屏幕类别为large,密度类别为xhdpi,DPI为320 - Ben Hutchison
3个回答

12

Nexus 7使用TVDPI,但不会在为其编程的应用中使用。

它肯定可以。您可以使用-tvdpi资源集限定符,详见文档

Eclipse使用HDPI、LDPI、MDPI、XHDPI和XXHDPI文件夹。

不是这样,它使用-ldpi、-mdpi、-tvdpi、-hdpi、-xhdpi和-xxhdpi资源集限定符,详见文档

有人真的知道Nexus 7使用哪个密度(HDPI/LDPI/MDPI/XHDPI/XXHDPI)吗?

它使用-tvdpi,详见文档

2
@Evorlor:好的,布局文件应该放在res/layout.../文件夹中,而不是res/drawable...文件夹中。你可以将-tvdpi应用于任何一个文件夹。为-tvdpi提供自定义布局会很奇怪。提供自定义绘图可能是可行的,但可能过度设计。即使是谷歌也没有为操作系统的艺术品提供这样的自定义绘图。如果您未能提供与设备密度匹配的绘图,则Android将自动缩放不同密度的绘图。因此,如果您有-hdpi绘图,则Android将自动缩小它们并使用它们。 - CommonsWare
@CommonsWare 我有两个drawable文件夹,一个是-600dp,另一个是-tvdpi(专门为Nexus 7设计)。由于Nexus 7占用了大型图像,我已经将较大的图像放在了-tvdpi中,但是我注意到Nexus 7模拟器仍然从-600dp文件夹中获取图像。您能否解释一下这个问题?或者我需要另一个名为layout-tvdpi的文件夹来引用-tvdpi drawable文件夹中的图像吗? - user1952459
1
@CommonsWare 好的,那么如果我想为 Nexus 7 提供特定大小的图像,我该怎么办?我的应用程序需要为10英寸、7英寸和tweener(5英寸)平板电脑提供特定大小的图像。为此,我创建了三个文件夹,“-sw720dp”、“-sw600dp”和“-sw480dp”,就目前我测试过的设备和模拟器而言,它们都可以正常工作,除了 Nexus 7。 - user1952459
@mANDROID:“好的,如果我只想为Nexus 7提供特定大小的图像,我该怎么做?”--不要仅为Nexus 7提供特定大小的图像。“我需要为10英寸、7英寸和tweener(5英寸)平板电脑提供特定大小的图像”--除非你不这样做。你正在为任何-mdpi平板电脑提供选择尺寸的“特定大小的图像”。现在,这意味着大约72%的平板电脑正在使用你的图像。其余的平板电脑将对图像进行上采样(或者很少情况下进行下采样),以适应设备具有不同的屏幕密度。 - CommonsWare
3
如果你这样做,请将-sw600dp绘制资源目录更名为-sw600dp-mdpi。否则,所有应用程序都将使用-sw600dp-tvdpi目录。这就是为什么通常不会看到基于屏幕尺寸的绘制目录,而且从来不是仅基于屏幕尺寸的原因。 - CommonsWare
显示剩余7条评论

1
你可以在使用 XML 布局时,在 Eclipse 中找到所有信息。这是一个非常方便的工具,可以在实际设备上运行之前,在多个屏幕上测试设计。

0
请记住,以下内容只适用于Nexus 7(2012年版)。更新一点的Nexus 7(2013年版)分辨率为1200 x 1920,像素密度为320dpi(2.0倍)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接