From 84971ae0109bdfae79f3c9d15edf400fa5129f3d Mon Sep 17 00:00:00 2001 From: Scott Main Date: Mon, 18 May 2009 16:05:52 -0700 Subject: Revise the ImageButton class description to include information about XML drawables, for managing button state. --- core/java/android/widget/ImageButton.java | 32 ++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'core') diff --git a/core/java/android/widget/ImageButton.java b/core/java/android/widget/ImageButton.java index 4c1cbf6..d417e40 100644 --- a/core/java/android/widget/ImageButton.java +++ b/core/java/android/widget/ImageButton.java @@ -27,9 +27,35 @@ import java.util.Map; /** *

- * An image button displays an image that can be pressed, or clicked, by the - * user. - *

+ * Displays a button with an image (instead of text) that can be pressed + * or clicked by the user. By default, an ImageButton looks like a regular + * {@link android.widget.Button}, with the standard button background + * that changes color during different button states. The image on the surface + * of the button is defined either by the {@code android:src} attribute in the + * {@code <ImageButton>} XML element or by the + * {@link #setImageResource(int)} method.

+ * + *

To remove the standard button background image, define your own + * background image or set the background color to be transparent.

+ *

To indicate the different button states (focused, selected, etc.), you can + * define a different image for each state. E.g., a blue image by default, an + * orange one for when focused, and a yellow one for when pressed. An easy way to + * do this is with an XML drawable "selector." For example:

+ *
+ * <?xml version="1.0" encoding="utf-8"?>
+ * <selector xmlns:android="http://schemas.android.com/apk/res/android">
+ *     <item android:drawable="@drawable/button_normal" /> <!-- default -->
+ *     <item android:state_pressed="true"
+ *           android:drawable="@drawable/button_pressed" /> <!-- pressed -->
+ *     <item android:state_focused="true"
+ *           android:drawable="@drawable/button_focused" /> <!-- focused -->
+ * </selector>
+ * + *

Save the XML file in your project {@code res/drawable/} folder and then + * reference it as a drawable for the source of your ImageButton (in the + * {@code android:src} attribute). Android will automatically change the image + * based on the state of the button and the corresponding images + * defined in the XML.

* *

XML attributes

*

-- cgit v1.1