Android 当appTheme选择为“drawable-theme1”时,如何使用不同的drawable res文件夹(例如drawable-theme1);主题1“;从styles.xml?这可能吗?

Android 当appTheme选择为“drawable-theme1”时,如何使用不同的drawable res文件夹(例如drawable-theme1);主题1“;从styles.xml?这可能吗?,android,android-drawable,android-resources,android-theme,android-styles,Android,Android Drawable,Android Resources,Android Theme,Android Styles,目前,我的styles.xml文件中有四个主题。(主题1,主题2,主题3,主题4) 我在drawable和drawable-theme1文件夹中都有一个test_image.xml 我需要的是,对于主题1,我需要可绘制主题1中的资源,对于其他主题(主题2、主题3、主题4),我需要普通可绘制文件夹中的资源 最后,在以编程方式设置图像视图时,我将调用imageView.setResource(R.drawable.test_image)。必须根据我选择的主题检索资源文件 这是否可能 我找不到与此相关

目前,我的styles.xml文件中有四个主题。(主题1,主题2,主题3,主题4)

我在drawabledrawable-theme1文件夹中都有一个test_image.xml

我需要的是,对于主题1,我需要可绘制主题1中的资源,对于其他主题(主题2、主题3、主题4),我需要普通可绘制文件夹中的资源

最后,在以编程方式设置图像视图时,我将调用imageView.setResource(R.drawable.test_image)。必须根据我选择的主题检索资源文件

这是否可能


我找不到与此相关的任何问题或类似问题。如果有人已经提供了解决方案,请帮助我找到。谢谢

不能将
用作密码。
这意味着您不能使用
可绘制的主题名
文件夹

但是,您可以在
attrs.xml
文件中定义自定义属性:

<resources>
    <attr name="myDrawable" format="reference" />
</resources>
最后,在布局中,您可以使用以下内容:

<com.google.android.material.button.MaterialButton
    ....
    app:icon="?attr/myDrawable"/>

不能将
用作密码。
这意味着您不能使用
可绘制的主题名
文件夹

但是,您可以在
attrs.xml
文件中定义自定义属性:

<resources>
    <attr name="myDrawable" format="reference" />
</resources>
最后,在布局中,您可以使用以下内容:

<com.google.android.material.button.MaterialButton
    ....
    app:icon="?attr/myDrawable"/>