2010-07-28 23 views
0

我有一個帶有ImageView的小部件。我將此ImageView設置爲從9修補程序PNG資源創建的位圖。圖像設置正確,但沒有正確拉伸 - 即整個圖像被拉伸,而不是像我的9修補程序PNG中定義的那樣。如果我只是將9-patch鏡像設置爲資源,它就可以工作。我怎樣才能解決這個問題?使用RemoteViews在一個小部件上的9-patch位圖

// Does not work (9-patch does not display correctly) 
Bitmap bitmap = BitmapFactory.decodeResource(context.getResources(), R.drawable.someNinePatch); 
remoteViews.setImageViewBitmap(R.id.someImageView, bitmap); 

// Works (9-patch displays correctly) 
remoteViews.setImageViewResource(R.id.someImageView, R.drawable.someNinePatch); 

回答

1

Android通過資源上的.9.png文件擴展名知道PNG是9補丁。我不知道有什麼方法可以在資源之外使用九塊補丁的圖像,因爲Android不會有文件擴展名,並且不會知道圖像是九塊補丁。

+0

該資源的擴展名爲.9.png,我只是將它用作位圖。 – 2010-07-29 18:38:00

+1

@Isaac Walter:但是你通過將它加載到一個'Bitmap'對象中而失去了擴展。 AFAIK,一個'Bitmap'對象不知道它是來自一個普通的PNG,一個九塊PNG,一個JPEG,一個GIF或其他東西。 – CommonsWare 2010-07-29 21:37:09

相關問題