2012-01-10 59 views
0

我是新來的android小部件,目前我正在開發小部件,我使用更多的圖像,它運行完美,但有時它會拋出錯誤Failed Binder Transaction, 我知道問題是與遠程視圖,任何人都可以告訴我如何處理android widget中的remoteviews?在android小部件中處理remoteviews

回答

2

這是因爲對RemoteView的所有更改都是序列化的(例如setInt和setImageViewBitmap)。位圖也被串行化成內部束。不幸的是,這個捆綁包的尺寸極小。

確保縮小位圖。請參閱下面的代碼。

public static Bitmap scaleDownBitmap(Bitmap photo, int newHeight, Context context) { 

final float densityMultiplier = context.getResources().getDisplayMetrics().density;   

int h= (int) (newHeight*densityMultiplier); 
int w= (int) (h * photo.getWidth()/((double) photo.getHeight())); 

photo=Bitmap.createScaledBitmap(photo, w, h, true); 

return photo; 
} 

這newHeight要小(〜100它應該在屏幕上每平方),並使用它的小部件,你的問題就解決了:)

相關問題