我没有图片,但有3个RGB模式需要应用在按钮普通、按下等状态中。 此外,文字颜色也应相应改变。
如何使用6个RGB(3 + 3)并将其应用于XML或代码中的按钮。 PS:我不希望使用基于选择器图像的解决方案,在这种情况下,我必须创建图像以更改颜色。
我没有图片,但有3个RGB模式需要应用在按钮普通、按下等状态中。 此外,文字颜色也应相应改变。
如何使用6个RGB(3 + 3)并将其应用于XML或代码中的按钮。 PS:我不希望使用基于选择器图像的解决方案,在这种情况下,我必须创建图像以更改颜色。
看一下这个帖子,它解释了所有的内容,甚至还介绍了如何使用只有一个图像但具有不同效果的方法。
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@drawable/rbutton_pressed" />
<item android:state_focused="true" android:drawable="@drawable/button_focus" />
<item android:drawable="@drawable/button_rest" />
</selector>
这是使用三个不同的drawable的方法。通过以下代码,您可以应用一些效果,如线程中所述:
button.getBackground().setColorFilter(0xFF00FF00, PorterDuff.Mode.MULTIPLY);
或者
button.getBackground().setColorFilter(new LightingColorFilter(0xFFFFFFFF, 0xFFAA0000));