我无法理解为什么我可以根据dpi,屏幕尺寸,方向等来指定资源,但不能根据分辨率来指定资源。
例如,我从网上下载文章的缩略图;它们总是300px宽。如果屏幕宽度至少为600px,我想将它们显示在文本的左侧,如果屏幕宽度小于600px,我想在文本上方绘制它们。
如果我不知道屏幕本身的物理尺寸,我如何依赖像dp / in / mm这样的物理尺寸单位?
为什么Android不允许我这样做?处理这种情况的首选方法是什么?
答案 0 :(得分:1)
我无法理解为什么我可以根据dpi,屏幕尺寸,方向等来指定资源,但不能根据分辨率来指定资源。
因为这通常不是一个好主意。
如果我不知道屏幕本身的物理尺寸,我如何依赖像dp / in / mm这样的物理尺寸单位?
在资源集级别,您可以通过-small
,-normal
,-large
和-xlarge
了解实际尺寸。因此,举例来说,您可以在左侧为-large
和-xlarge
绘制图标,并在-small
和-normal
上方绘制您的图标。
处理此类情况的首选方法是什么?
首选方法是根据屏幕尺寸和密度设计基础。
话虽如此,欢迎您通过自己的Java代码做任何您想做的事情。布局资源和资源集是建议的便利,仅此而已。