我正在尝试在我的活动中的 onPrepareOptionsMenu 中获取一个选项菜单图标,并在画布的帮助下重新绘制它:
@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;
}
不幸的是,什么都没有发生。菜单中有与以前相同的图标图像。有人可以告诉我我使用的代码有什么问题吗?