[英]Getting resource ID from bitmap/drawable in android
我有一個要在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);
現在的問題是,在API級別16中添加了setBackground()
方法,但是我希望我的應用程序支持API級別4。我知道我可以使用以下代碼:
bgGrass.setBackgroundDrawable(bitmapGrass);
但是不建議使用setBackgroundDrawable()
方法。 設置背景的另一種方法是使用setBackgroundResource(int)
方法,但是所需的參數是整數(不可繪制)。
有什么方法可以在不使用不推薦使用的方法的情況下實現該位圖,也許將可繪制的位圖轉換為資源?
謝謝!
實際上,盡管在較新的平台中不建議使用setBackgroundDrawable
但是可以調用它。 您可以在運行時檢查sdk級別並調用特定方法:
if(Build.VERSION.SDK_INT >= 16) {
//call setBackground()
} else {
//call settBackgroundDrawable()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.