按下时更改按钮背景颜色

时间:2013-09-02 10:46:54

标签: android android-layout android-manifest background-image background-color

我是Android开发的新手。我有一个按钮,我提供了如下选择器

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:drawable="@drawable/menu_selected" android:state_selected="true"></item>
  <item android:drawable="@drawable/menu_pressed" android:state_pressed="true"></item>
  <item android:drawable="@drawable/list"></item>
</selector>

通过这个我能够实现按钮按下和按钮选择的背景图像更改,但我想要改变背景颜色以及图像。这可能吗 ?如果是的话请指导我如何实现同样的目标。

2 个答案:

答案 0 :(得分:2)

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

  <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
        <stroke android:width="4dp" android:color="#94cd00" />

        <padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" />

    </shape></item>

我的imageview有这样的东西。当我按下它时,它会在我的图像视图外面创建一个绿色边框。看看是否有帮助

答案 1 :(得分:0)

@Override
public boolean onTouch(View v, MotionEvent event)
{
    if(event.getAction() == MotionEvent.ACTION_UP)
    {
        //up event
        b.setBackgroundColor(Color.RED);
        return true;
    }
    if(event.getAction() == MotionEvent.ACTION_DOWN)
    {
        //down event
        b.setBackgroundColor(Color.GREEN);
        return true;
    }
    return false;
}