2011-05-22 31 views
0

我不明白为什么我可以指定资源取决于dpi,屏幕大小,方向等,但不是在分辨率。为什么我不能根据分辨率指定资源?

例如,我从网上下载了文章的缩略图;他们总是300px宽。如果屏幕宽度至少为600像素,我想将它们显示在文本左侧,如果屏幕宽度小于600像素,我想将它们绘制在文本上方。

如果我不知道屏幕本身的物理尺寸,我该如何依靠像dp/in/mm这样的物理尺寸单位?

为什么Android不允许我这样做?处理这种情况的首选方法是什么?

+0

你不能在XML中管理它吗?如果将文本区域的最小宽度设置为300,则应将其自行排列。 – Haphazard 2011-05-22 13:22:22

+0

我想在布局的不同部分显示图像,而不是调整它的大小。 – Fixpoint 2011-05-22 23:15:02

回答

1

我不明白为什么我可以指定资源取决于dpi,屏幕大小,方向等,但不是决议。

因为这通常不是一个好主意。

如果我不知道屏幕本身的物理尺寸,我该如何依靠像dp/in/mm这样的物理尺寸单位?

在资源设定的水平,你知道的物理尺寸通过-small-normal-large-xlarge。因此,例如,您可以在左侧绘制图标-large-xlarge,并在-small-normal上绘制您的图标。

处理这种情况的首选方法是什么?

首选的方法是根据屏幕尺寸和密度设计变型。

话虽如此,欢迎您通过自己的Java代码做任何你想做的事情。布局资源和资源集是推荐的便利,仅此而已。

+0

您能详细说明屏幕尺寸吗?文档大小的含义很不明确。例如,它表示“小”意味着“布局大小...大约为320x426dp”。这是什么意思? 360x360dp屏幕会变成“小”吗?什么是240x500dp?在我的情况下,我特别感兴趣的是屏幕的宽度。 – Fixpoint 2011-05-22 23:18:31

+0

@Shooshpanchick:http://developer.android.com/guide/practices/screens_support.html解决方法完全没有意义,你越早得知它越容易成功。你需要关心(明显的)物理尺寸和(明显的)屏幕密度。 – CommonsWare 2011-05-23 00:03:54

+0

我同意依靠物理尺寸更好。但Android并不让我这样做。对角线屏幕尺寸也是没有意义的,因为不同的长宽比。为什么在宽度和高度上没有单独的小/正常/大/ xlarge限定符? – Fixpoint 2011-05-23 06:59:49