Drawable
を私のactionBarに拡張するカスタムDrawableを追加しようとしています。私は提供されたアイコンの上に描画したいので、これはカスタムdrawableである必要があります(しかしそれは問題ではありません)。アクションバーのカスタム描画可能メニューが中央に配置されていません
私はそうのように私の活動でメニューにアイコンを追加しました:
@Override
public void draw(@NonNull Canvas canvas) {
canvas.drawBitmap(mIcon.getBitmap(), null, new Rect(0, 0, mWidth, mHeight), mIconPaint);
}
:私はその後、キャンバス上に描画アイコンのビットマップを取る
BadgedIconDrawable
で
BadgedIconDrawable drawable = new BadgedIconDrawable(getContext())
.setIcon(icon);
mMenu.add(0, menuItemId, 0, "")
.setIcon(drawable)
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
幅と高さが24dpでアイコンのサイズが正しいようです。
mMenu
のsetIcon
に渡される通常のドロアブルとは異なり、問題は正しく整列していないようです。私はそれを中心に揃える方法を見つけることができません。下の画像はこの問題を示しています。中央のアイコンはBadgedIconDrawable
で設定します。