Back to blog
AndroidSeptember 12, 2011

Implementing Press States for Android Buttons

How to implement visual press feedback on Android buttons and images using state list drawables.


Providing visual feedback when a user taps a button is essential for a responsive user experience. In Android, this is achieved using state list drawables.


Implementation


1. Prepare two drawable assets: button_normal.png for the default state and button_selected.png for the pressed state. Place both in res/drawable.


2. Create a state list drawable button_style.xml in res/drawable:


android:drawable="@drawable/button_selected" />


3. Apply the drawable to your button:


android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:background="@drawable/button_style" />


The framework handles the state transitions automatically. When the user presses the button, the selected drawable is displayed; when released, it reverts to the default. This simple pattern provides immediate, tactile feedback that users expect from a well-built application.