我有一个要在ImageView中显示的位图可绘制图像,下面是我的代码:
BitmapDrawable bitmapGrass = (BitmapDrawable)
getResources().getDrawable(R.drawable.grass);
bitmapGrass.setTileModeX(TileMode.REPEAT);
我想将该位图设置为ImageView的背景,如下所示:
ImageView bgGrass = (ImageView) findViewById(R.id.image_grass);
bgGrass.setBackground(bitmapGrass);
问题是,方法setBackground()
是在API级别16中添加的,但我希望我的应用程序支持API级别4.我知道我可以使用此代码:
bgGrass.setBackgroundDrawable(bitmapGrass);
但方法setBackgroundDrawable()
已弃用。设置背景的另一种方法是使用方法setBackgroundResource(int)
,但必需参数是整数(不可绘制)。
有没有办法在不使用弃用方法的情况下实现该位图,可能将位图drawable转换为资源?
谢谢!
答案 0 :(得分:1)
实际上可以调用setBackgroundDrawable
,尽管它在较新的平台中已被弃用。您可以在运行时检查sdk级别并调用特定方法:
if(Build.VERSION.SDK_INT >= 16) {
//call setBackground()
} else {
//call settBackgroundDrawable()
}