2010-10-24 54 views
2

例如,我有一個播放/暫停按鈕,並希望在將文本從「播放」更改爲「暫停」並返回時,其大小不會改變。由於國際化,我不知道'玩'或'暫停'將是更長的字符串..Android:在更改文字時保留按鈕大小

我想我需要將字符串設置爲最長的字符串,然後創建按鈕,允許用戶界面來調整它然後正確地獲取它的高度/寬度,並設置高度/寬度,以便在按鈕文本更改爲較短的字符串時不調整其大小。但是我不確定在代碼中如何/在哪裏執行此操作,或者是否有更簡單的方法來自動處理。

回答

3

大多數字體會顯示字符不同的大小,所以例如「a」的寬度與「m」的寬度不同。少量的字體可以處理它,但大多數看起來不錯,因爲它們具有不同大小的字母。

所以我覺得你的選擇是:

  1. 強制按鈕的大小,佈局,例如設置按鈕android:layout_width =「250dp」

  2. 如果您可以找到跨文化的圖像,請使用圖標圖像而不是文字。我希望大多數媒體播放器專門使用圖標來避免這種情況。

如果您發現不同的語言有很大的差異你可以特殊情況下,他們中的一些,並使用特定語言的更大的按鈕,但簡單的選項通常是最好的,所以如果是我,我會怎麼做以上兩者之一,但無論您不假定具有相同數量的字符的文本字符串將呈現相同的寬度,那很少是這種情況。

+0

我正在組合#1,併爲其他情況創建了切換開關類型按鈕。謝謝。 – Mark 2010-10-27 00:53:44