我有BitmapFactory
无法读取的自定义图像格式。所以我编写了一个派生Resources
类,它将我的图像格式解码为drawables。我在Activity.getResources()
中返回此自定义Resources实例。
此解决方案适用于代码内资源读取,我看到像这样解码的图像。
但是当我在布局文件中声明一个图像资源时,我得到的只是logcat中的调试消息
skia --- SkImageDecoder :: Factory返回null
好像LayoutInflater
甚至没有拨打activity.getResources()
答案 0 :(得分:0)
经过大量调试后发现这不可能以这种方式完成。
TextView类构造函数将调用私有的Resources.loadDrawable(TypedValue value, int id)
。 loadDrawable
只会调用Resources.getCachedDrawable(LongSparseArray<WeakReference<ConstantState>> drawableCache, long key)
,这又是私有的。
谷歌的程序员如何实现这种表演停止是我无法理解的。需要非常细致的计划才能给程序员一个希望,然后用一个目标明确的私人,静态或其他方式压制它们。 /咆哮