How can I set a minimum width (in characters) for a TextView? How can I set a minimum width (in characters) for a TextView? android android

How can I set a minimum width (in characters) for a TextView?


try this:

android:layout_width="wrap_content"android:minEms="2"


Ems works if your font is monospace. For proportional fonts, you want it the width of two '0's, not two 'm's. You can fall back to TextPaint.measureText like so:

float measureText = zip.getPaint().measureText("00000");zip.setWidth(zip.getPaddingLeft() + zip.getPaddingRight() + (int) measureText);


Best way is to use TextPaint. Here is a simple example:

TextPaint textPaint = new TextPaint();textPaint.setTextSize(yourTextView.getTextSize());yourTextView.setMinWidth((int) textPaint.measureText("-88.88"));

Do not forget to specify text size in your TextPaint object
In measureText enter longest possible string you're expecting to see (I've written "-88.88" assuming my text can handle positive or negative numbers below 100 with 2 digits after comma)