0

我创建了一个带有选择器的自定义按钮:

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/button_np"
            android:state_enabled="false"/>
        <item android:drawable="@drawable/button_np_pressed"
            android:state_pressed="true"/>
        <item android:drawable="@drawable/button_np"
            android:state_focused="true"/>
        <item android:drawable="@drawable/button_np"/>
    </selector>

我希望能够通过使用灰色按钮作为图像来为该按钮着色,然后用我定义的颜色对其进行着色。

那可能吗?

谢谢

4

2 回答 2

2

确实有可能(至少在代码中),您设置了一个滤色器。

import android.graphics.PorterDuff;

Button.getBackground().setColorFilter(0xFF00FF00,PorterDuff.Mode.MULTIPLY);  //  Green
Button.getBackground().setColorFilter(0xFFFF0000,PorterDuff.Mode.MULTIPLY);  // Red

只需选择您的颜色并将它们放在 setColorFilter 参数中。

于 2012-06-08T16:42:59.793 回答
0

是的,它工作得很好,我在我的中使用它,只需创建一个9Patch按钮并将图像的名称放在您拥有“@drawable/button_np”的位置,“button_pn”是您的按钮图像的名称

于 2013-07-15T09:43:56.047 回答