アクティビティのonPrepareOptionsMenu内にoptionsmenu-iconを取得し、キャンバスを使用して再描画しようとしています。
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
super.onPrepareOptionsMenu(menu);
MenuItem item = menu.findItem(R.id.menuCart);
Drawable icon = item.getIcon();
Bitmap bitmap = Bitmap.createBitmap(icon.getIntrinsicWidth(),
icon.getIntrinsicHeight(),
Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
c.drawColor(Color.BLUE);
Paint paint = new Paint();
paint.setColor(Color.WHITE);
paint.setAntiAlias(true);
paint.setStyle(Style.FILL_AND_STROKE);
c.drawCircle(5, 5, 50, paint);
icon.draw(c);
icon.invalidateSelf();
item.setIcon(icon);
return true;
}
残念ながら何も起きていません。メニューには以前と同じアイコン画像があります。誰かが私が使用しているコードの何が問題になっているのか教えてもらえますか?