我正在尝试制作一个标志(司机在机场使用的那些人找“史密斯先生”)并且我希望标志有可能的最大字体大小(对于平板电脑而言),我可以写一个根据文本的长度来改变大小的函数,但有没有一种原生/更好的方法?
由于
答案 0 :(得分:2)
最灵活的方法是创建一个自定义视图,用于在onDraw()
中绘制文本。在绘制文本时(使用Canvas.drawText()
之一),您必须提供一个Paint,这将让您知道文本的精确长度,而不仅仅是字符串的长度(请参阅Paint.measureText()
)。
这样你就可以有很多方法来计算和重新分配空间(它完全依赖于你如何)。
我能想到的一种方法是计算巨大字体的长度,然后使用h / w比率来查看我是否要在宽度或高度上填充屏幕。