[英]Android: scaling a button with a background image
我可能只是愚蠢但我的Google搜索效果不佳。
我在代碼中添加了一堆按鈕,這些按鈕都有動態文本。 我為每個按鈕設置了一個背景圖像,因為默認的灰色按鈕對我的應用程序不起作用。
這非常有效,當文本大小(或內容)發生變化時,按鈕會自動增長以適應擴展文本。 什么不起作用是我希望按鈕按比例縮放 - 即如果背景圖像是圓形的,我希望它保持圓形而不是橢圓形,因為按鈕變大。
使用圖像按鈕,有一個屬性“調整視圖邊界”,它正是這樣做但我不能將文本放在圖像按鈕上。 有沒有相當於常規按鈕的東西?
或者我錯了嗎?
我也嘗試在代碼中設置按鈕的寬度,但我似乎無法確定新的高度(button.getHeight()返回0)
好吧,我發現了一種方法...我修改了補丁-9,使其可擴展區域在兩個軸上都是最大的。
然后像這樣使用DisplayMetrics:
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
buttonView.setGravity(Gravity.CENTER);
int buttonSize=(int) Math.floor(metrics.density*1.6*fontSize);
buttonView.setWidth(buttonSize);
buttonView.setHeight(buttonSize);
其中fontSize是DIP中我放在每個按鈕上的字體大小。 在這種情況下,因為我每個按鈕上只有一個字母,所以我不需要擔心文本長度,但是顯然可以調整它來處理這種情況。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.