我在xml中有一个形状:
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:topLeftRadius="8dip"
android:topRightRadius="8dip"
android:bottomLeftRadius="8dip"
android:bottomRightRadius="8dip"/>
</shape>
我希望这个形状是按钮的形状。但是当我宣布:
button.setBackgroundDrawable(the shape)
我不能改变按钮颜色。它总是给我黑色背景,我想动态地改变颜色。 我试过了:
button.getBackground().setColorFilter(color, PorterDuff.Mode.MULTIPLY);
并没有任何影响。 感谢。
答案 0 :(得分:0)
不确定这是否适合您,但请尝试一下。它对我有用:
button.getPaint().setColor(Color.GREEN);
然后显然你可以将“GREEN”改为其他颜色。 请注意,Android并不使用所有颜色作为默认颜色,只使用主要和主要颜色,如红色,蓝色,绿色,黄色等。
希望这有帮助!
答案 1 :(得分:0)
我试过了......
GradientDrawable bgShape =(GradientDrawable)b1.getBackground();
bgShape.setColor(Color.GREEN);
或
b1.getBackground()。setColorFilter(Color.GREEN,Mode.MULTIPLY);
或
b1.getBackground()setColorFilter(Color.parseColor( “#bbb000”),Mode.DARKEN);