我有一个要在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)
,但是所需的参数是整数(不可绘制)。
有什么方法可以在不使用不推荐使用的方法的情况下实现该位图,也许将可绘制的位图转换为资源?
谢谢!
实际上,setBackgroundDrawable
尽管在较新的平台中已弃用,但可以打电话。您可以在运行时检查sdk级别并调用特定方法:
if(Build.VERSION.SDK_INT >= 16) {
//call setBackground()
} else {
//call settBackgroundDrawable()
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句