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

标签 android layout button

例如,我有一个播放/暂停按钮,当我将文本从“播放”更改为“暂停”并返回时,它的大小不会改变。由于国际化,我不知道“播放”或“暂停”是否会是更长的字符串..

我想我需要将字符串设置为最长的字符串,然后创建允许 UI 正确调整其大小的按钮,然后获取其高度/宽度并设置高度/宽度,使其在按钮文本时不会调整大小更改为较短的字符串。但我不确定在代码中如何/在何处执行此操作,或者是否有更简单的方法来自动处理此操作。

最佳答案

大多数字体会显示不同大小的字符,例如“a”的宽度与“m”的宽度不同。少数字体可以处理它,但大多数看起来不错,因为它们有不同大小的字母。

所以我认为你的选择是:

  1. 强制按钮的大小,在布局中的按钮中设置它,例如android:layout_width="250dp"

  2. 如果您能找到跨文化的图像,请使用图标图像而不是文本。我希望大多数媒体播放器专门使用图标来避免这种情况。

如果您发现不同的语言差异很大,您可以对其中一些进行特殊处理,并为特定语言使用更大的按钮,但简单的选项通常是最好的,所以如果是我,我会执行上述操作之一两个,但是无论您不假设具有相同字符数的文本字符串将呈现相同的宽度,这种情况很少见。

关于Android:更改文本时保留按钮大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4009297/

相关文章:

android - 如何将 DatePicker 中的日期值存储到格式化的字符串值中?

android - Android 上的多线程问题

android - 我的应用程序不会显示任何内容?只是一个空白的白页?

javascript - 使用 javascript 禁用 HTML 中的按钮

python - 将另一个文件中的函数读取到 python 中的按钮中

android - 定期更新位置信息到服务器

javascript - Highcharts Legend Selection 在 Android WebView 中双重触发

html - Outlook 2007 和 2010 中的富 HTML 电子邮件...如何删除上边距?

java - removeAll() 是否也会删除 JPanel 上的布局管理器?

java - 如何在 Java 中编写 DropDownButton