如何在Android上改进TextButton的字体

时间:2012-03-14 15:44:09

标签: android layout user-interface textview scaling

我的应用程序中有一些方形TextView(具有不同的动态大小(我不知道它们在我开发时))并且想要设置它们的文本。但是,如果我说TextView.setText();文字字体很小。如果我设置TextView.setFontSize有时文本没有完全显示(请记住:它们具有动态大小)。所以我的问题是:我怎样才能给文本提供完美的字体(使用按钮的完整空间并完全显示)或者使文本本身变为方形以便填充TextView的整个空间? 谢谢

3 个答案:

答案 0 :(得分:0)

查看documentation,看起来您应该可以使用以下内容:

TextView tv = (TextView) findViewById(R.id.myTextView);
tv.setTextScaleX(tv.getWidth());

这会将文字的宽度缩放为TextView的宽度。

答案 1 :(得分:0)

我认为你需要计算按钮的高度和你想要设置的文本。您需要的API是:Paint.getTextBounds()和View.getHeight()。

答案 2 :(得分:0)

您可以像这样使用Paint.getTextBounds()

int textViewWidth = textView.getMeasuredWidth();
float textSize = 1.0;
do {
    textSize += 0.5
    textView.setTextSize(textSize);
    Paint textPaint = textView.getPaint();
    textPaint.getTextBounds(text, 0, text.length(), rect);
    int width = rect.width();
} while (width < textViewWidth);

textView.setTextSize(textSize - 0.5);