Search code examples
androidanimationbuttonpressed

Button Pressed Animation be longer


i have this button xml, when it be will pressed, the pressed image(b) would be longer to display before it goes back to normal button.

Here's my xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:state_pressed="false" android:drawable="@drawable/a" />
<item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/b" />
<item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/b" />
<item android:drawable="@drawable/a" />

Anyone has idea on this?

For the fix. i used this.

closeButton.setOnTouchListener(new View.OnTouchListener() {

        public boolean onTouch(final View v, MotionEvent event) {
            switch(event.getAction())
            {
            case MotionEvent.ACTION_DOWN:
                v.setPressed(true);
                return true;
            case MotionEvent.ACTION_UP:
                v.setPressed(false);
                try {
            Thread.sleep(150);
        } catch (Exception e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        return true;
        }
            return false;  

        }
 });

Solution

  • Try like this..

    Handler handler=new Handler();
    mybutton.setOnTouchListener(new OnTouchListener() {
    
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                v.setPressed(true);
               handler.postDelayed(new Runnable() {
     @Override
     public void run() {
    v.setPressed(false);
     }
     }, 2000);<-- you can set for how much time the button should be in pressed state..2 seco9nds in this case
                return true;
            }
        });