With Android Studio I have some Buttons and I want that when I click on them you can see a kind of movement that confirm you have clicked that Button. Is there a way to do that without create a new xml file in which there is a selector? 
I'd like to do something like that (I think it's default color):
 when is normal
 when is normal
 when is pressed
 when is pressed
I have this but It doesn't do anything:
Button b = (Button)findViewById(R.id.btn);
    b.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN ) {
                return true;
            }
            return false;
        }
    });
I think you are looking for something like this.
OnTouch . You can capture key down and key up events to change the color.
You can try this :-
        final Button button = (Button) findViewById(R.id.button1);
    button.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN) {
                button.setBackgroundColor(Color.RED);
                return true;
            } else if (event.getAction() == MotionEvent.ACTION_UP) {
                button.setBackgroundColor(Color.GREEN);
                return true;
            }
            return false;
        }
    });
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With