按下时我无法更改按钮的背景

IP6*_*696 0 android

我有一个带背景的按钮.我需要你点击它时,背景改变了,当我发布它时,背景是一样的.

@Override
    public boolean onTouch(View v, MotionEvent event) {
        switch (v.getId()){
            case R.id.button:
               if (v.isEnabled()){
                btn.setBackgroundResource(R.drawable.btn_pressed);
               }else if (!v.isEnabled()){
                   btn.setBackgroundResource(R.drawable.btn_normal);
               }
                break;
        }

        return false;
    }
Run Code Online (Sandbox Code Playgroud)

当我编写这段代码时,背景会改变一次并始终处于"按下"的状态

Sha*_*got 8

将xml创建为drawable.

button_effect.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
  <item android:state_pressed="true" android:drawable="@drawable/button_green_dark"></item>
  <item android:drawable="@drawable/button_green"></item>
</selector>
Run Code Online (Sandbox Code Playgroud)

现在将此xml设置为按钮背景属性.