为什么我不能根据分辨率指定资源?

时间:2011-05-22 12:38:50

标签: android

我无法理解为什么我可以根据dpi,屏幕尺寸,方向等来指定资源,但不能根据分辨率来指定资源。

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

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

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

1 个答案:

答案 0 :(得分:1)

  

我无法理解为什么我可以根据dpi,屏幕尺寸,方向等来指定资源,但不能根据分辨率来指定资源。

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

  

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

在资源集级别,您可以通过-small-normal-large-xlarge了解实际尺寸。因此,举例来说,您可以在左侧为-large-xlarge绘制图标,并在-small-normal上方绘制您的图标。

  

处理此类情况的首选方法是什么?

首选方法是根据屏幕尺寸和密度设计基础。

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