0

我想将我的按钮文本的 textSize 设置为尽可能大,但以一种不会改变我的按钮尺寸(等于资源文件)的方式限制它。

你知道有什么方法可以实现吗?

4

2 回答 2

0

您可以为此使用自动缩放文本视图

于 2013-09-23T07:14:32.957 回答
0

愿这对你有帮助

// Determine Scaled Density for later calculations
Display dd = ((Activity) m_Context).getWindowManager().getDefaultDisplay();
DisplayMetrics dm = new DisplayMetrics();
dd.getMetrics(dm);
float m_ScaledDensity = dm.scaledDensity;

Rect bounds = new Rect();
Paint p = new Paint();
p.setTypeface(btn.getTypeface());

// W is a very wide character
String sample = "NeedsToFIt"
int maxFont;
for (maxFont= 1
    ; -bounds.top <= btn.getHeight() && bounds.right <= btn.getWidth()
    ; maxFont++) {
  p.setTextSize(maxFont);
  p.getTextBounds(sample, 0, sample.length(), bounds);
}
maxFont = (int) ((maxFont - 1) / m_ScaledDensity);
btn.setTextSize(maxFont);
于 2013-09-23T06:46:19.280 回答