Android中mdpi和ldpi中的图像

时间:2013-02-18 07:12:08

标签: android image drawable

在我的Android应用中,我保留了“mdpi”中的部分图片,并保留在“ldpi”中。 然后我的应用程序也在各种设备(虚拟和移动)上正常工作。 是不是想要在设备的分辨率下获取图像。 他们怎么显示???

4 个答案:

答案 0 :(得分:1)

mdpi和ldpi是覆盖。如果android找到一个可绘制的名称,它会查找它会使用它,但是如果多个图像存在于不同的分辨率,它将选择最接近的一个。

答案 1 :(得分:1)

默认情况下,Android会缩放位图drawables (。png,.jpg和.gif文件)Nine-Patch drawables (。9 .png文件),以便它们在每个设备上以适当的物理大小呈现。

例如,如果您的应用程序仅为baselinemedium screen density (mdpi)提供位图可绘制内容,则系统会在 高时进行缩放-density screen ,并在 低密度屏幕 时缩小它们。此缩放可能会导致位图中的伪像。为了确保您的位图看起来最好,您应该为不同的屏幕密度添加不同分辨率的替代版本。

可用于密度特定资源的配置限定符为ldpi (low), mdpi (medium), hdpi (high), and xhdpi (extra high)例如,高密度屏幕的位图应该放在res/drawable-hdpi中。

有关屏幕的更多信息,请参阅this

答案 2 :(得分:1)

Android有一个非常具体的算法来选择正确的drawable。这是它的样子:

Android drawable selection

这里有更详细的解释:

http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch

答案 3 :(得分:0)

情景如下:

<强>布局: -

res/layout/my_layout.xml             // layout for normal screen size ("default") (320 * 480)
res/layout-small/my_layout.xml       // layout for small screen size (240 * 320)
res/layout-large/my_layout.xml       // layout for large screen size (480 * 800/854)
res/layout-xlarge/my_layout.xml      // layout for extra large screen size (720/800 * 1280)

<强>绘项目: -

res/drawable-mdpi/my_icon.png        // bitmap for medium density, used by layout-small & layout
res/drawable-hdpi/my_icon.png        // bitmap for high density, used by layout-large
res/drawable-xhdpi/my_icon.png       // bitmap for xtra-high density, used by layout-xlarge

希望有所帮助。如果有任何困惑,请问。 请同时阅读一次Screens Support APIs

感谢。