我如何设置TextView的最小宽度(以字符为单位)?

我在这里有一个很好的search,找不到解决scheme。

我有一个包含整数的RelativeLayout的TextView。 数字将介于1和99之间 – 任何人都可以告诉我如何调整TextView的大小,使其宽度始终是string“99”的宽度,即使它只包含“1”?

我需要这个,因为在这个TextView右边的组件的位置取决于它的宽度,所以所有的位置都取决于TextView包含多less个数字。

我不介意如果这是在XML或代码完成 – 我只是想避免必须设置像素的TextView的宽度!

感谢任何可能的解决scheme; 请问我是否错过了任何重要的信息!

Solutions Collecting From Web of "我如何设置TextView的最小宽度(以字符为单位)?"

尝试这个:

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

如果您的字体是等宽字体的,Ems将起作用。 对于比例字体,你需要两个'0'的宽度,而不是两个'm'的宽度。 你可以像这样回退到TextPaint.measureText:

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

我想你正在寻找Paint类中的getTextBounds()方法。 没有尝试自己寿。

使用TextView的android:maxLength属性。请阅读