You need to create a layout containing an image view and a text view. Then you use the onClick event of the parent layout to treat it like a button. Here is an example:
<LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:background="@color/image_button_background" android:gravity="center" android:onClick="doCustomers" android:orientation="vertical" > <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:src="@drawable/ic_menu_box" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:paddingBottom="10dp" android:text="Customers" /> </LinearLayout>
source share