2011-09-19 27 views
0

我改變背景顏色的按鈕編程方式如下背景大小得到改變

 Button button =(Button)findViewById(R.id.one); 
    button.setBackgroundColor(0xFFFF0000); 

但經過這個按鈕的尺寸得到增加。在UI使用im相對佈局。

+0

文字顏色不是背景顏色btw。 – ernazm

+0

正如你所提到的你正在改變背景顏色,並在代碼中設置button.setTextColor(0xFFFF0000)的屬性? – user370305

+0

對不起,我使用button.setBackgroundColor(0xFFFF0000);我現在編輯它請看看 – Vins

回答

6

默認按鈕背景可繪製有某種邊距。這些邊距只是圖像兩側的透明像素。當您爲按鈕設置背景顏色時,這些邊距會消失,因爲按鈕的整個矩形都被填充了顏色。

+0

如果我改變顏色如下其不影響按鈕尺寸。但我沒有得到這是幹什麼: button.getBackground()。setColorFilter(0xFFFF0000,PorterDuff.Mode.MULTIPLY); – Vins

+0

這意味着您可以爲按鈕背景的每個像素移除綠色和藍色組件,因此按鈕必須爲紅色。 – Michael