小编典典

如何从资源创建Drawable

all

我有一张图片res/drawable/test.png(R.drawable.test)。
我想将此图像传递给一个接受的函数Drawable,例如mButton.setCompoundDrawables()

那么如何将图像资源转换为Drawable?


阅读 129

收藏
2022-04-19

共1个答案

小编典典

你的 Activity 应该有方法 getResources。做:

Drawable myIcon = getResources().getDrawable( R.drawable.icon );


从 API 版本 21 开始,此方法已弃用,可以替换为:

Drawable myIcon = AppCompatResources.getDrawable(context, R.drawable.icon);

如果您需要指定自定义主题,以下将应用它,但前提是 API 版本为 21 或更高版本:

Drawable myIcon =  ResourcesCompat.getDrawable(getResources(), R.drawable.icon, theme);
2022-04-19