tamaño studio imagen cambiar ajustar android text draw rect

ajustar - cambiar tamaño imagen android studio



Android dibuja texto en un rectángulo en el centro y lo recorta si es necesario (3)

¿Qué hay de esto?

<FrameLayout android:id="@+id/frameLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/textView1" android:layout_height="40dp" android:layout_width="100dp" android:layout_gravity="center" android:text="TextViewqqqqqqqqqqqwwww" android:inputType="text"> </TextView> </FrameLayout>

Quiero dibujar texto en un rectángulo en el centro (horizontal y verticalmente). Si hay demasiado texto que lo recorte, lo que no encaja en rect.

Intenté hacerlo como muestra este ejemplo , pero sin suerte.

¿Algunas ideas?


Prueba esto

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); }


esta función funcionó para mí.

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); }