【发布时间】:2013-09-24 17:17:38
【问题描述】:
根据文档here,PNG 资源应转换为BitmapDrawable。但是我观察到一个奇怪的行为,如果我尝试执行以下操作,其中 只有黑色像素 的 png 文件会因为 ClassCastException(包裹在 InvocationTargetException)而导致崩溃在自定义视图的构造函数中:
我在 android 2.2 和 2.3 上看到以下登录
09-24 13:21:37.575: I/TestPNGToResource(532): 规范类名 android.graphics.drawable.ColorDrawable为什么资源没有被转换为 BitmapDrawable?
【问题讨论】:
-
如果 png 有一些彩色像素,它还会发生吗?不确定
aapt的 png 优化是否真的可以将纯色图像转换为ColorDrawable或者在解析您的自定义属性时是否出现错误 -
对于具有彩色像素的图像不会发生这种情况。如果自定义属性有任何错误,它应该在任何设备上都失败。它在运行 4.3 的 Nexus 4 上按预期工作。
标签: android android-drawable android-inflate bitmapdrawable colordrawable