如何从资源创建Drawable

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

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


你的活动应该有方法getResources。 做:

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

此代码已弃用。

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

使用这个instad。

Drawable drawable = ContextCompat.getDrawable(getApplicationContext(),R.drawable.icon);

getDrawable (int id)方法在API 22中折旧。

相反,您应该使用API​​ 21+的getDrawable (int id, Resources.Theme theme)

代码看起来像这样。

Drawable myDrawable;
if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.LOLLIPOP){
    myDrawable = context.getResources().getDrawable(id, context.getTheme());
} else {
    myDrawable = context.getResources().getDrawable(id);
}
链接地址: http://www.djcxy.com/p/63777.html

上一篇: How to create Drawable from resource

下一篇: MySQL query to get sum of differences between column and AVG of same column