package com.mapbox.mapboxsdk.views; import android.content.res.Resources; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.drawable.BitmapDrawable; import android.util.TypedValue; /** * Created by nitrog42 on 09/04/15. */ public class NumberBitmapDrawable extends BitmapDrawable { protected int mCount; protected Paint mPaint; private static final int TEXT_SIZE = 16; public NumberBitmapDrawable(final Resources res, final Bitmap bitmap) { this(res, bitmap, 0); } public NumberBitmapDrawable(final Resources res, final Bitmap bitmap, final int count) { super(res, bitmap); mCount = count; Paint paint = new Paint(); paint.setColor(Color.WHITE); paint.setAntiAlias(true); paint.setDither(true); paint.setTextSize(TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, TEXT_SIZE, res.getDisplayMetrics())); paint.setTextAlign(Paint.Align.CENTER); setTextPaint(paint); } @Override public void draw(final Canvas canvas) { super.draw(canvas); drawText(canvas); } protected void drawText(Canvas canvas) { canvas.drawText(String.valueOf(mCount), getBounds().centerX(), getBounds().centerY() + mPaint.descent(), mPaint); } public void setCount(final int count) { mCount = count; } public int getCount() { return mCount; } public void setTextPaint(Paint paint) { mPaint = paint; } }