Нет изображения с инфлятора с пользовательским форматом изображения

У меня есть этот пользовательский формат изображения, который BitmapFactory не может прочитать. Итак, я написал производный класс Resources, который декодирует мой формат изображения в чертежи. Я возвращаю этот пользовательский экземпляр Resources в Activity.getResources().

Это решение хорошо работает для чтения ресурсов в коде, и я вижу изображения, декодированные таким образом.

Но когда я объявляю ресурс изображения в файлах макета, все, что я получаю, это отладочное сообщение в logcat, говорящее

skia --- SkImageDecoder::Factory вернул null

Как будто LayoutInflater даже не звонит activity.getResources()


person velis    schedule 09.04.2014    source источник


Ответы (1)


После долгих отладок оказывается, что таким способом это сделать невозможно.

Конструктор класса TextView вызовет Resources.loadDrawable(TypedValue value, int id), который является закрытым. loadDrawable звонит только Resources.getCachedDrawable(LongSparseArray<WeakReference<ConstantState>> drawableCache, long key), который снова является частным.

Как программисты Google добиваются такого рода шоу-стопов, я не понимаю. Требуется чрезвычайно тщательное планирование, чтобы дать программисту надежду, а затем раздавить его метким приватным, статическим или чем-то еще. /напыщенный

person velis    schedule 09.04.2014