我有两个按钮,我创建XML以使按钮圆。但我想给两个按钮提供不同的颜色

时间:2016-05-12 02:34:24

标签: android

这里我正在编写用于更改按钮背景的XML代码。

roundbutton2.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="#eea0e5ee"/>
    <corners android:bottomRightRadius="10dp"
        android:bottomLeftRadius="10dp"
        android:topRightRadius="10dp"
        android:topLeftRadius="10dp"/>
</shape> 

按钮代码段

<Button
    android:layout_width="125dp"
    android:layout_height="55dp"
    android:text="Clear"
    android:id="@+id/bt_clear"
    android:layout_marginLeft="55dp"
    android:layout_marginRight="30dp"
    android:textColor="#FFFFFF"
    android:textSize="25dp"
    android:textAllCaps="false"
    android:background = "@drawable/roundbutton2"/>

<Button
    android:layout_width="125dp"
    android:layout_height="55dp"
    android:text="Proceed"
    android:textColor="#FFFFFF"
    android:textSize="25dp"
    android:id="@+id/bt_proceed"
    android:textAllCaps="false"
    android:background = "@drawable/roundbutton2"/>

首先我需要#EE494D4E颜色,而第二个按钮我想要#eea0e5ee。如何做到这一点。 我想要使​​用相同XML文件的两个按钮的不同颜色。 请告诉我这件事。感谢

1 个答案:

答案 0 :(得分:0)

roundbutton2.xml中,您直接将形状值的颜色设置为#eea0e5ee,这会导致将其设置为背景的按钮具有该颜色。我做的是删除<solid android:color="#eea0e5ee"/>并通过xml将backgroundTint设置为您喜欢的颜色,如下所示:

<Button
        android:id="@+id/bt_clear"
        android:layout_width="125dp"
        android:layout_height="55dp"
        android:layout_marginLeft="55dp"
        android:layout_marginRight="30dp"
        android:background="@drawable/roundbutton2"
        android:backgroundTint="#EE494D4E"
        android:text="Clear"

        android:textAllCaps="false"
        android:textColor="#FFFFFF"
        android:textSize="25dp" />

    <Button
        android:id="@+id/bt_proceed"
        android:layout_width="125dp"
        android:layout_height="55dp"
        android:background="@drawable/roundbutton2"
        android:backgroundTint="#eea0e5ee"
        android:text="Proceed"
        android:textAllCaps="false"
        android:textColor="#FFFFFF"
        android:textSize="25dp" />

注意:这只是一种解决方法。我不完全确定是否应该这样做,或者是否违反最佳做法。这个答案here是我的参考。如果您仍希望保留按钮的默认颜色值,则可以实现更改其他按钮颜色的唯一方法是programmatically

干杯! :d