2014-06-29 34 views
0

我有固定大小的按钮,但文本会随时更改。 有时文本太长,无法放入按钮,对于这些情况,我想使用较小的文本大小。如果文本太长,在Android按钮中更改文本大小

如果文本太长,我该如何更改按钮的文本大小?

(一种解决方案可能是测试,可以与正常TEXTSIZE使用多少个字符,然后更改TEXTSIZE如果长度超过这一基准大。但是,我希望更多的动态方法。)

回答

1

1)测量按钮。 2)使用相同的字体,使用Paint.getTextBounds()来获取宽度。 3)比较按钮的大小和宽度。你可能需要在两边加上一些额外的空间来填充,但是这将会是一个估计。 4)如果文本太大,请减小文本的大小(在Paint对象上)并转到步骤2. 5)现在您的工作大小已经调整,请在按钮上调用setTextSize。

注意:如果你正在为AlertDialog做这件事,你需要在按钮存在之后做到这一点 - 我已经在第1步有问题,取决于我把这个功能放在哪里,但它已经很长时间了,我忘了确切的问题。我觉得在演出后我必须做到这一点?

1

您可以扩展Button类类似的东西AutofitTextView

+0

是的,那将是不错... – EirikO

+0

@EirikO请勾选答案,如果它帮助你。 –

相关问题