Draw text inside android circle

后端 未结 3 580
感动是毒
感动是毒 2021-02-06 15:31
public static Bitmap drawCircle(int width,int height, int borderWidth) {
    Bitmap canvasBitmap = Bitmap.createBitmap( 350, 350, Bitmap.Config.ARGB_8888);
    BitmapSha         


        
3条回答
  •  暖寄归人
    2021-02-06 16:11

    I had a similar requirement where needed text drawn in the centre of a circle.

    Here's how I did it (within my customview's onDraw) albeit it similar to @Anoop's answer.

    //draw circle
    canvas.drawCircle(xPos,yPos,mCircleSize, mCirclePaint);
    
    mTextPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
    
    //this ensures X alignment
    mTextPaint.setTextAlign(Paint.Align.CENTER);
    
    // Measure the text rectangle to get the height        
    Rect result = new Rect();
    mTextPaint.getTextBounds(marker.label, 0, marker.label.length(), result);
    //take half the height as the offset
    int yOffset = result.height()/2;
    
    //add offset to ensure Y is aligned center
    canvas.drawText(marker.label, xPos, yPos+yOffset, mTextPaint);
    

提交回复
热议问题