0

我创建了一个装扮游戏应用程序。用户完成角色装扮后,可以将其保存到应用程序的图库中。

我在画布上使用画布和 drawbitmap 来生成最终图像,然后显示在应用程序的图库中。xhdpi 图像大小应为 600x900 像素。当此图像显示在普通的 android 库中时,它显示为 600x900,并且(从信息中获取)看起来足够大。但是,当我在我的应用程序中显示它时,尽管 ImageView 设置为 wrap_content,但它看起来要小得多。此外,在修饰它时,它也设置为 wrap_content,它看起来比应用程序库中的要大。

我的理论是因为我试图使用 .setImageDrawable(Drawable.createFromPath(path)); 以编程方式设置它。并且因为屏幕是 xhdpi,所以它将大小除以 2。

我能做些什么?

4

1 回答 1

0

很可能,您正在测试的设备不是xhdpi,而是hdpimdpi

当您在密度桶中提供图形时,Android 将负责调整该图像的大小,使其在所有设备上保持相同的物理尺寸(也就是说,屏幕上的尺寸以厘米为单位)。

如果您想使用原始可绘制对象,您可以在res/drawable-nodpi文件夹中提供图形。

如果您想保留密度桶,但您的图形太小,请在 和 中提供正确res/drawable-mdpires/drawable-hdpi尺寸res/drawable-xhdpi

我不相信有任何方法可以通过Drawable.createFromPath(). 您可以直接使用加载位图BitmapFactory并使用以下方法将其提供到 ImageView 中setImageBitmap()

File f = new File(path);
Bitmap b = BitmapFactory.decodeFile(f.getAbsolutePath());
imageView.setImageBitmap(b);
于 2013-08-13T12:06:16.840 回答