が、
更新される画像と更新されない画像があり、問題に・・・。
ソース抜粋
ComponentName thisWidget = new ComponentName(context, WidgetImage.class);
AppWidgetManager manager = AppWidgetManager.getInstance(context);
remoteViews.setBitmap(R.id.widgetImage, "setImageBitmap", mBitmap); // 画像をセットする
manager.updateAppWidget(thisWidget, remoteViews);
更新されない原因としては以下があるみたい。
・アルファがのっている画像だとダメ
・画像サイズが大きいとダメ
アルファがのっている画像はオプションで指定して対処
bitmap = BitmapFactory.decodeStream(is);
↓
Options opt = new Options();
opt.inPreferredConfig = Config.RGB_565;
bitmap = BitmapFactory.decodeStream(is,null,opt);
画像サイズが大きいとダメは画像を1/2にして対処
opt.inSampleSize = 2;
今回の画像はある程度決まったサイズ(480 x 800)だったので、解決できた気がします。
表示されるときと表示されないときの際は、
bitmap.getRowBytes()
で取得した値が960だとダメで、
480とかだと大丈夫なような感じでした。
根拠ないです。
HTC EVOだと特に対処しなくても更新されてるのに、
Gallaxy Tabだと更新されない。
この差がなんなのかが謎で、はまりました
0 件のコメント:
コメントを投稿