我想使用
如果需要,我可以提供示例代码,但实际上它只是一个包含属性的
Context
或 Resources
来获取一个主题化的 drawable,而我的 minSDK
是 15。我该怎么做?
开发者文档中关于 Resources 的说明 中有这样一条注释:
注意:要获取一个主题化的 drawable,请使用 Context.getDrawable(int) 或 getDrawable(int, Theme) 并传入所需的主题。
Context.getDrawable(int)
和 Resources.getDrawable(int, Theme)
都是在 API 21 中添加的,所以我不能使用它们。如果我查看 [ResourcesCompat 文档](http://developer.android.com/reference/android/support/v4/content/res/ResourcesCompat.html#getDrawable(android.content.res.Resources, int, android.content.res.Resources.Theme)),它也有类似的限制:
在 API 级别 21 之前真的没有办法获取一个主题化的 drawable 吗?在 API 级别 21 之前,不会应用主题,此方法只是简单地调用 getDrawable(int)。
如果需要,我可以提供示例代码,但实际上它只是一个包含属性的
attrs.xml
,定义了该属性的 themes.xml
,应用该属性的 ContextThemeWrapper
,以及使用 <solid android:color="?attr/MY_ATTRIBUTE" />
的 drawable/foobar.xml
。