簡體   English   中英

從Android中的位圖/可繪制獲取資源ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM