如何从Android XML设置Android按钮的背景颜色(正常+按下)

5

我没有图片,但有3个RGB模式需要应用在按钮普通、按下等状态中。 此外,文字颜色也应相应改变。

如何使用6个RGB(3 + 3)并将其应用于XML或代码中的按钮。 PS:我不希望使用基于选择器图像的解决方案,在这种情况下,我必须创建图像以更改颜色。


为什么是-2?有人能写出为什么是-2吗? - user435739
1个回答

4

看一下这个帖子,它解释了所有的内容,甚至还介绍了如何使用只有一个图像但具有不同效果的方法。

<?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));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接