キャンバスに描画されたビットマップをアプリ ウィジェットの ImageView にレンダリングしようとしています。それを機能させることができません。RemoteViews オブジェクトを使用せずに、より単純な例を試しているので、いくつかの四角形をキャンバスにレンダリングしてから、それを ImageView に設定しようとしています。空白のアクティビティが表示されます。コードサンプルは次のとおりです。
LinearLayout layout = new LinearLayout (this);
layout.setDrawingCacheEnabled(true);
try
{
Bitmap bitmap = Bitmap.createBitmap(100, 100, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
Paint red = new Paint ();
red.setColor(0xCC0000);
Paint blue = new Paint ();
blue.setColor (0x0099CC);
canvas.drawRect(0, 0, 100, 100, red);
int percent = 55;
canvas.drawRect(0, 0, percent, 100, blue);
ImageView imageView = new ImageView (this);
imageView.setDrawingCacheEnabled(true);
imageView.setImageBitmap(bitmap);
imageView.setAdjustViewBounds(true);
imageView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
layout.addView(imageView);
}
catch(Exception e)
{
Log.e("ElectionForecastWidgetProvider", "error with bar", e);
}
this.setContentView(layout);
スタック オーバーローなどで検索した後、setDrawingCacheEnabled メソッドを試すなど、さまざまな部分を微調整してきました。誰かがここで洞察を提供できますか? ありがとう!