0

アプリケーションのメニュー アイコンの上に、保留中のイベントの数を示すバッジを追加したいのですが、下の画像でわかるように、いくつか問題があります。円を不透明にすることができません。円の後ろに灰色の線が表示されたくないので、新しい画像が上部で切り取られます。

アクションバーの他のメニュー項目ではなく、アクションバーのロゴアイコン(ホームアイコン)で使用したいので、カスタムアクションビューはオプションではありません

ここに画像の説明を入力

    Bitmap bm = BitmapFactory.decodeResource(getResources(), drawableId);
    bm = bm.copy(bm.getConfig(), true);

    Paint circlePaint = new Paint();
    circlePaint.setAntiAlias(true);
    circlePaint.setColor(Color.RED);
    circlePaint.setStyle(Paint.Style.FILL);
    //circlePaint.setAlpha(255);

    Paint textPaint = new Paint(); 
    textPaint.setStyle(Style.FILL);  
    textPaint.setColor(Color.WHITE); 
    textPaint.setTextSize(23); 
    textPaint.setFakeBoldText(true);

    Canvas canvas = new Canvas(bm);
    canvas.drawCircle(bm.getWidth()/6, bm.getHeight()/5, 13, circlePaint);
    canvas.drawText(text, bm.getWidth()/7 + 5, bm.getHeight()/3, textPaint);

    return new BitmapDrawable(context.getResources(), bm);

どんな助けでも大歓迎です!

ありがとう

4

3 に答える 3

0

キャンバスから描画する代わりに、これには相対レイアウトを使用する必要があると思います。

ここでは、相対的なレイアウトでそれを行う方法についての素晴らしいチュートリアルがあります。

編集:

アクションバー

于 2013-10-29T09:07:56.043 に答える