如何处理屏幕尺寸和密度的多种组合?

时间:2016-04-23 16:26:42

标签: android android-layout android-xml android-drawable dpi

我正在努力将正确的drawables放到正确的屏幕上。我按照Android开发人员的说明,为drawableldpi的每个xxhdpi创建了一个版本。但是,具有相同dpi的物理小屏幕和大屏幕选择相同的drawable,我希望更大的屏幕可以获得更大的屏幕。

布局非常简单,所以我认为我不需要创建具有不同限定符的新布局,所以我需要提出一种分类drawables(和/或屏幕)的好方法分辨率)。我猜测它是使用sw<N>dp限定符或其中一个兄弟姐妹完成的,但我该如何选择间隔?我已经看过示例(sw600dpw820dp等),但没有关于如何确定它们的指南。我是否需要在不同的AVD配置上通过反复试验来实现,哪些是最好的?

当我确定要使用哪个-sw<N>dp时,如何缩放我的drawable?我是否遵循标准3:4:6:8:12:16或其他内容?

然而,sw<N>dp资格赛似乎并非适用于drawables,因为它们会因此而变得奇怪且模糊。我是否使用layouts与限定符,但如何?我真的不知所措......

1 个答案:

答案 0 :(得分:0)

  

然而,具有相同dpi的物理小屏幕和大屏幕选择相同的绘图,我希望更大的屏幕可以获得更大的屏幕。

将较小的值放在res/drawable-...dpi/目录中,以获得...的不同值(例如x)。将较大的值放在res/drawable-swNNNdp-...dpi/中,以获得NNN(例如800)和...的不同值。请注意,-swNNNdp限定符必须位于-...dpi限定符之前的名称中。

  

但如何选择间隔?

这取决于你。你是那个说“我想要更大的屏幕来获得更大的屏幕”的人。只有你知道自己喜欢什么,只有你知道截止在“更大”和“更大”之间的位置在你的脑海中。对此没有通用答案,就像将网页布局更改为“移动”时没有通用答案一样。

  

我是否需要在不同的AVD配置上通过反复试验来实现,哪些是最好的?

我建议你在硬件上试一试。

如果您决定要在7英寸平板电脑上放大图像,-sw600dp将是一个合理的选择。如果您决定要在10英寸平板电脑上放大图像,-sw720dp会是一个合理的选择。除此之外,打破标尺并测量最短的屏幕宽度,然后乘以160得到dpi。 Google还维护a database of many popular devices,每个维度为pxdpi

  

当我确定使用哪个-swdp时,如何缩放我的drawable?

再一次,那就是你。如果您决定在较大的屏幕上将图像放大50%,请创建大50%的图像。再一次,你是那个说“我想要更大的屏幕来获得更大的屏幕”的人。只有你知道自己喜欢什么,只有你知道什么“更大”才能让你得到你喜欢的东西。