我在这里看到了一些关于圆角和彩色背景的东西,但没有任何东西非常适合我的需要。
我看到制作圆角按钮(有效)的方法是在drawable文件夹中创建一个xml文件,然后放置类似的东西。
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<solid android:color="@color/Blue"/>
<corners
android:bottomRightRadius="10dp"
android:bottomLeftRadius="10dp"
android:topLeftRadius="10dp"
android:topRightRadius="10dp"/>
</shape>
这很棒,只需一个按钮。有没有办法我可以将四种颜色组合成一个xml文件,所以我不需要制作四个单独的颜色?我希望他们都像这个蓝色按钮一样有10dp半径,但每个都有各自的颜色。
我要问的唯一方法就是在我的主要xml文件中说android:background="@drawable/round
,如果我可以说那么android:background="@color/Blue"
但是因为我不能调用android:background
我必须在这个可绘制的xml文件中命名颜色。所以我现在不知道如何在这个round.xml文件中动态更改颜色
问候。
答案 0 :(得分:2)
您可以通过以下方式动态定义一个xml并更改按钮颜色:
GradientDrawable sd = (GradientDrawable) button1.getBackground();
sd.setColor(Color.BLUE);
GradientDrawable sd1 = (GradientDrawable) button2.getBackground();
sd1.setColor(Color.RED);
答案 1 :(得分:0)
Drawable drawable = button1.getBackground();
DrawableCompat.setTint(drawable, Color.BLACK);