四个带圆角和不同颜色的按钮

时间:2014-01-24 07:03:29

标签: android xml button

我在这里看到了一些关于圆角和彩色背景的东西,但没有任何东西非常适合我的需要。

我看到制作圆角按钮(有效)的方法是在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文件中动态更改颜色 问候。

2 个答案:

答案 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);