2016-04-23 70 views
0

我正在努力将正确的drawables放到正确的屏幕上。我遵循Android开发者指示,并通过创建了ldpixxhdpi的版本。但是,与dpi相同的物理小屏幕和大屏幕选择相同的drawable,我希望更大的屏幕能够获得更大的屏幕。如何处理大量屏幕尺寸和密度的组合?

布局非常简单,所以我不认为我需要用不同的限定符创建新的布局,所以我需要想出一个很好的方法来对drawables(和/或屏幕分辨率)进行分类。我猜这是用sw<N>dp限定符或它的一个兄弟姐妹完成的,但我该如何选择间隔?我见过例子(sw600dp,w820dp等),但没有指导如何确定它们。我是否需要在不同的AVD配置上进行反复试验,并且最好这样做?

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

又一次,sw<N>dp限定符似乎不是drawables,因为它们变得怪异和模糊的结果。我是否使用layouts与预选赛,但如何?我在这里真的很茫然......

+0

您误解了drawable,layouts,screensize和resolution是如何相互作用的。 Drawables正好在分辨率桶*中,因为如果它们不是,你会看到“模糊”的资产等。将drawable放在大小桶中肯定是错误的。您需要创建不同大小的drawable,然后创建大小特定的布局来选择它们。或者,您可以创建超大的可绘图和特定尺寸的尺寸以缩小比例。我很少发现需要创建两个以上特定尺寸的布局(手机和平板电脑),而且我从不调整drawable的大小。 – 323go

回答

0

但是,具有相同dpi的物理小屏幕和大屏幕选择相同的drawable,我希望更大的屏幕获得更大的屏幕。

把较小的在res/drawable-...dpi/目录中,出于...变化值(例如,x)。对于NNN(例如,800)和...的变化值,将较大的值放入res/drawable-swNNNdp-...dpi/。请注意,-swNNNdp限定符必须位于-...dpi限定符之前的名称中。

但我该如何选择间隔?

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

我是否需要通过在不同的AVD配置上进行反复试验来做到这一点,哪些最适合这样做?

我建议你在硬件上试试。

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

当我确定使用哪个-swdp时,如何扩展我的drawables?

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