我想在 android 中计算字符串字体宽度(以像素为单位)。我有字符串数组,我将所有这些数组元素附加到一个字符串。所以我必须在两个连续的数组元素之间设置固定的间距。我将这个最后的字符串放入textview。最后,我将此textview添加到tablerow。总之,我想查看具有标题和值的表结构。我在这里看过很多帖子,但没有得到解决方案。
提前致谢... !!!
答案 0 :(得分:21)
Paint
看起来有measureText
方法。我还找到了example:
mPaint = new Paint();
mPaint.setAntiAlias(true);
mPaint.setStrokeWidth(5);
mPaint.setStrokeCap(Paint.Cap.ROUND);
mPaint.setTextSize(64);
mPaint.setTypeface(Typeface.create(Typeface.SERIF, Typeface.ITALIC));
// ...
float w = mPaint.measureText(text, 0, text.length());
答案 1 :(得分:4)
Thanks Jake for the working solution,但我发现这对我也有用:
someText = "Lorem Ipsum";
TextView myTextView = (TextView) findViewById(R.id.myTextView);
float w = myTextView.getPaint().measureText(someText);
直接从我将要使用的TextView中获取Paint让我觉得anwser会更准确。
答案 2 :(得分:-3)
我不知道这是否有效,但它可以。
int textSize=20;
Paint p=new Paint();
p.setTextSize(textSize);
String string="Hello im a string.";
public int getStringWidt()
{
return string.length*textSize;
}