无法解码图像。提供的图像必须是位图。 -使用PNG

时间:2018-10-14 18:49:48

标签: android android-studio

我目前正在关注有关Uber克隆的教程,并且在这一部分

 carMarker = mMap.addMarker(new MarkerOptions()
                     .position(currentPosition)
                     .flat(true)
                     .icon(BitmapDescriptorFactory.fromResource(R.drawable.car)));

我们将汽车的标记添加到当前位置以进行点到点移动,应用程序崩溃,调试器显示“解码图像失败。提供的图像必须是位图”。
“汽车”图像是drawable文件夹中的png文件,我尝试了Custom marker in google maps in android with vector asset icon等解决方案,但实际上没有解决。

有人可以在这里帮助吗?对我来说,看起来一切都很好:图像是png文件,位于可绘制文件夹中,为什么不考虑将其视为位图?

2 个答案:

答案 0 :(得分:2)

我找到了答案。将汽车文件粘贴到drawable文件夹中时,Android Studio提供了drawable源文件夹的选项来保存它,默认选项是“ drawable-v24”文件夹aa,而R.drawable则将图像保存在“ drawable”文件夹中。因此,在粘贴图像时需要将其从“ drawable-v24”更改为“ drawable”,这样才能起作用。

答案 1 :(得分:1)

尝试一下。 将PNG图片转换为jpg格式,并确保图片的分辨率不太高。我有相同的经验,然后我将jpg与低分辨率图像一起使用。