Android:更改文本时保留按钮大小

4
我有一个播放/暂停按钮,希望在更改文本从“播放”到“暂停”并返回时,其大小不会改变。由于国际化,我不知道“播放”或“暂停”的字符串长度会是多少。
我想我需要将字符串设置为最长的字符串,然后创建按钮,允许UI适当地调整其大小,然后获取其高度/宽度,并设置高度/宽度,使其在按钮文本更改为较短的字符串时不会重新调整大小。但我不确定如何/在代码中的哪里执行此操作,或者是否有更简单的自动处理方法。
1个回答

4
大多数字体显示的字符大小不同,例如“a”的宽度与“m”的宽度不同。少量字体可以处理得很好,但大多数字体之所以看起来好,是因为它们有不同大小的字母。
因此,我认为您的选择是:
1. 强制按钮的大小,在布局中设置按钮大小,例如android:layout_width="250dp" 2. 使用图标图像代替文本,如果您能找到跨文化的形象。我希望大多数媒体播放器使用图标来避免这种情况。
如果您发现不同语言差异很大,可以针对其中一些特殊情况使用较大的按钮,但通常简单的选项是最好的。因此,如果是我,我会选择上述两个选项之一,但无论如何都不要假设具有相同字符数的文本字符串将呈现相同的宽度,这很少是真实情况。

我会选择方案一,并为其他情况创建一个开关按钮。谢谢。 - user317033

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接