Согласно документации здесь, ресурс png должен быть преобразован к BitmapDrawable
. Однако я наблюдаю странное поведение, когда файл png, содержащий только черные пиксели, приводит к сбою из-за ClassCastException
(обернутого в InvocationTargetException
), если я пытаюсь сделать следующее в пользовательском представлении конструктор:
... tempDrawable = typedArr.getDrawable(R.styleable.CustomView_src); // Source points to a png file Log.i("TestPNGToResource", "Canonical Class Name " + tempDrawable.getClass().getCanonicalName()); tempBitmap = ((BitmapDrawable) tempDrawable).getBitmap(); ...
Я вижу следующее, зарегистрированное на Android 2.2 и 2.3
09-24 13:21:37.575: I/TestPNGToResource(532): Canonical Class Name android.graphics.drawable.ColorDrawable
Почему ресурс не преобразуется в BitmapDrawable?
aapt
действительно может преобразовать сплошное цветное изображение вColorDrawable
или это ошибка при разрешении ваших пользовательских атрибутов. - person zapl   schedule 24.09.2013