2012-02-04 27 views
5

我使用以下代碼將位圖轉換爲Drawable。將位圖轉換爲繪製不顯示

MemoryCache memoryCache = new MemoryCache(); 
Bitmap bitmap = memoryCache.get(thumbnail); 
Drawable drawable = (Drawable)new BitmapDrawable(bitmap); 

的的MemoryCache我用的是從LazyList項目,當我使用位圖,但是當我將它轉換爲可繪製的話,就說明沒有到位圖像的正常工作。

請幫助

+0

嘗試這可繪製可繪製=新BitmapDrawable(位圖); – 2012-02-04 07:16:13

+0

嘗試使用hierarchyview來調試它。 – 2012-02-09 03:53:35

回答

16

改變這一行:

Drawable drawable = (Drawable)new BitmapDrawable(bitmap); 

要:

Drawable drawable = new BitmapDrawable(getResources(), bitmap); 

注意,BitmapDrawable(Bitmap bitmap)構造已被棄用(source),並使用上述通話顯然可以確保它得到正確設置目標密度。

+0

這是一個很好的信息。沒有指定'getResources()'作爲第一個參數,我在不同的屏幕密度下遇到了不一致的圖像大小。謝謝! – suomi35 2014-03-10 16:39:42

0

發現問題

其實問題是與

MemoryCache memoryCache = new MemoryCache(); 
Bitmap bitmap = memoryCache.get(thumbnail); 
3

嘗試使用以下

Drawable d = new BitmapDrawable(bitmap); 
相關問題