亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在窗口小部件中動態放置位圖時,活頁夾交易失敗

在窗口小部件中動態放置位圖時,活頁夾交易失敗

搖曳的薔薇 2019-12-20 10:48:08
有人可以告訴我粘結劑交易失敗的原因嗎?我可以在logcat中看到此錯誤消息。嘗試在小部件中動態放置位圖時遇到此錯誤...
查看完整描述

3 回答

?
繁星點點滴滴

TA貢獻1803條經驗 獲得超3個贊

這是因為對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個正方形)并將其用于小部件,您的問題將得到解決:)


查看完整回答
反對 回復 2019-12-20
?
慕碼人8056858

TA貢獻1803條經驗 獲得超6個贊

您可以將位圖壓縮為字節數組,然后在另一個活動中將其解壓縮,如下所示。


壓縮!!


        ByteArrayOutputStream stream = new ByteArrayOutputStream();

        bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);

        byte[] bytes = stream.toByteArray(); 

        setresult.putExtra("BMP",bytes);

解壓??!


        byte[] bytes = data.getByteArrayExtra("BMP");

        Bitmap bmp = BitmapFactory.decodeByteArray(bytes, 0, bytes.length);


查看完整回答
反對 回復 2019-12-20
  • 3 回答
  • 0 關注
  • 453 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號