I want to draw text i开发者_如何学运维nto rectangle on center (horizontally and vertically). If there is too much of a text that crop it what do not fit into rect.
I have try to do it as this example show, but without luck.
Any ideas?
Try this
private void drawRectText(String text, Canvas canvas, Rect r) {
    textPaint.setTextSize(20);
    textPaint.setTextAlign(Align.CENTER);
    int width = r.width();
    int numOfChars = textPaint.breakText(text,true,width,null);
    int start = (text.length()-numOfChars)/2;
    canvas.drawText(text,start,start+numOfChars,r.exactCenterX(),r.exactCenterY(),textPaint);
}
this function worked for me.
private void drawDigit(Canvas canvas, int textSize,  float cX, float cY, int color, String text) {
        Paint tempTextPaint = new Paint();
        tempTextPaint.setAntiAlias(true);
        tempTextPaint.setStyle(Paint.Style.FILL);
        tempTextPaint.setColor(color); 
        tempTextPaint.setTextSize(textSize); 
        float textWidth = tempTextPaint.measureText(text);
        //if cX and cY are the origin coordinates of the your rectangle 
        //cX-(textWidth/2) = The x-coordinate of the origin of the text being drawn 
        //cY+(textSize/2) =  The y-coordinate of the origin of the text being drawn 
        canvas.drawText(text, cX-(textWidth/2), cY+(textSize/2), tempTextPaint);
    }
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论