如何设置按钮颜色

时间:2011-05-31 10:01:46

标签: android button

我想像这样自定义按钮

<shape      xmlns:android="http://schemas.android.com/apk/res/android"
        android:shape="rectangle">

<solid   android:color="#EAEAEA"/>

<corners    android:topLeftRadius="8dip"
            android:bottomRightRadius="8dip"
            android:bottomLeftRadius="1dip"
            android:topRightRadius="1dip"
            />
<item android:drawable="@drawable/photo2"
      android:state_pressed="true" />
<item android:drawable="@drawable/photo1" />

但是

<item android:drawable="@drawable/photo2"
      android:state_pressed="true" />
<item android:drawable="@drawable/photo1" />

它不起作用(如果它工作,当按或按下按钮时它将改变按钮背景)

我该怎么办?

2 个答案:

答案 0 :(得分:4)

首先导入LightningColorFilter,然后您可以通过应用此代码更改颜色:

Start_Button.getBackground().setColorFilter(new LightingColorFilter(0x11111111, 0x11111111));

这是放在你的活动内,而不是XML文件。

答案 1 :(得分:1)

将样式和颜色设置为默认按钮将此代码设置为任何新的xml,并为此背景提供orgnal按钮,如下所示:

在orignal按钮布局xml中: - 的Andorid:背景= “@绘制/ mylayout”

在mylayout.xml中: -

<item android:state_pressed="true" >
    <shape>
        <gradient
            android:startColor="@color/yellow1"
            android:endColor="@color/yellow2"
            android:angle="270" />
        <stroke
            android:width="3dp"
            android:color="@color/grey05" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item android:state_focused="true" >
    <shape>
        <gradient
            android:endColor="@color/orange4"
            android:startColor="@color/orange5"
            android:angle="270" />
        <stroke
            android:width="3dp"
            android:color="@color/grey05" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

<item>        
    <shape>
        <gradient
            android:endColor="@color/blue2"
            android:startColor="@color/blue25"
            android:angle="270" />
        <stroke
            android:width="3dp"
            android:color="@color/grey05" />
        <corners
            android:radius="3dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>

并更改焦点按钮或单击事件尝试设置onfocuschnage其他布局:

<item android:state_focused="true" >

并设置不同颜色以更改按钮颜色或样式..