mdpi图片对于10英寸安卓平板电脑来说太小了

时间:2012-03-29 13:40:07

标签: android android-layout screen drawable

我有每个密度的drawables为ldpi,mdpi,hdpi和xhdpi。

问题: 10"平板设备(1280x800)和手机设备320x480使用中等密度。我有一个35x35 mdpi的图像。但这张图片对于平板电脑而言太小了,而手机则没问题。

我阅读了相关文件。但我想我无法理解这一点。无论如何平板电脑使用xhdpi图像或我想知道如何使用更大的图像为mdpi平板电脑。

4 个答案:

答案 0 :(得分:26)

您应该在可绘制文件夹中添加第二个标识符large和/或xlarge。增加drawable-xlarge-mdpi的尺寸,直到您对结果满意为止,而drawable-mdpi的尺寸与以前相同。

这会增加应用程序的大小,但它会解决您的问题。

答案 1 :(得分:18)

如果您想在不增加应用程序大小的情况下实现此目的,可以让高密度屏幕和大中密度屏幕使用相同的资源。您需要将要重复使用的图像放在'drawable-nodpi'文件夹中。这将阻止平台在使用时执行自己的缩放。例如,假设您有一个名为“my_resource”的资源,如果您希望平板电脑大小的屏幕使用您的xhdpi资源,那么将其移出drawable-xhdpi并将其重命名为:

/drawable-nodpi/my_resource_xhdpi.png

然后在drawable-xhdpi和drawable-xlarge文件夹中,创建一个名为my_resource.xml的文件,如下所示:

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/my_resource_xhdpi">
</bitmap>

现在当你使用@ drawable / my_resource时,xhdpi屏幕和xlarge屏幕将使用xhdpi版本,你只需维护一个版本的图像。我使用这种技术非常多,而且效果非常好。希望有所帮助!

答案 2 :(得分:10)

这些被定义为常见做法:

设备:

drawable-ldpi/xyz.png          low resolution devices 320x240 (now a days no phone comes with this resolution)
drawable-mdpi/xyz.png          medium resolution devices 480x320
drawable-hdpi/xyz.png          high resolution devices 800x480
drawable-xhdpi/xyz.png         Extra high resolution devices 1280*720
drawable-xxhdpi/xyz.png        Extra Extra high resolution devices 1920x1080

片剂:

drawable-large-mdpi/xyz.png    7” Tablet (600x1024 mdpi)
drawable-xlarge-mdpi/xyz.png   10” tablet (720x1280 mdpi, 800x1280 mdpi, etc).

答案 3 :(得分:0)

除了drawable-hdpi文件夹之外,我还在drawable-xlarge和drawable-large文件夹中包含了一些资源。这对我有用。

另一种方法是直接在代码中缩放图像,我使用以下代码:

Drawable scaledIcon = new BitmapDrawable(Bitmap.createScaledBitmap(myImage, pxInt, pxInt, true));
myImageView.setBackgroundDrawable(scaledIcon);

在您的代码中扩展大量图像并不是一个好主意(使用此方法),因为我认为像这样动态修改图像是一种资源密集型。我在某些情况下使用它,我使用的图像可能不是标准尺寸(我希望它始终适合)。