簡體   English   中英

Android:使用背景圖像縮放按鈕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM