2012-06-13 63 views
3

我开发了一个时钟小部件。我只有1个res /布局和1个res/drawable。一切都很完美。什么布局适合720x1280 Android设备?

它适用于三星Galaxy Ace等mdpi。它适用于像Samsung Galaxy S2这样的hdpi。它适用于Samsung Galaxy Note等xhdpi。

但是,我在三星Galaxy Nexus或索尼Xperia S等720x1280设备上看起来很难看。而即将推出的三星Galaxy S3。

当我提供专为720x1280设备构建的res/layout/xhdpi,Galaxy Note也会使用这种布局,而且它在Galaxy Note上看起来很丑。

如何解决此问题?

它就像720x1280(Galaxy Nexus,索尼Xperia S,Galaxy S3)和800x1280(Galaxy Note)之间的一些交叉点。

+0

丑陋意味着布局未对齐。组件的放置位置不正确。 – rxlky

回答

5

设备的分辨率和DPI不一定匹配(高分辨率并不意味着高DPI)。 DPI是设备分辨率与其物理尺寸的比率。

而不是按DPI分隔您的布局文件夹,按维度分隔它们。例如,layout-large,layout-xlarge。您还可以按照特定尺寸进行量化,例如layout-w720-h1280,在这种情况下,该尺寸只能匹配最小宽度为720像素,最小高度为1280像素的设备。

+0

嗨贾森,我试图提供布局正常,布局大,布局xlarge但没有工作。当我提供layout-mdpi,layout-hdpi,layout-xhdpi时。有用。但正如我之前提到的Galaxy Note和索尼Xperia S将使用相同的layout-xhdpi。但他们不匹配。当我修复Sony Xperia S时,Galaxy Note不会对齐。反之亦然。 – rxlky

+0

我试图把layout-w720dp-h1280dp和layout-sw720dp,但它永远不会被使用。始终指文件夹/布局。 – rxlky

+0

什么工作,什么不工作?那些是有效的量词,我在我的项目中使用它们,所以我知道它们是有效的。那么设备之间的布局差异看起来不正确? –

1

对于Galaxy S3使用layout-sw320dp