Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5b7328f2 authored by Scott Main's avatar Scott Main Committed by Android (Google) Code Review
Browse files

Merge "docs: add more info about state list drawable and onclick attribute to...

Merge "docs: add more info about state list drawable and onclick attribute to Button bug:1062898" into froyo
parents 27de3a24 6ec3d4f0
Loading
Loading
Loading
Loading
+48 −12
Original line number Diff line number Diff line
@@ -25,13 +25,13 @@ import android.widget.RemoteViews.RemoteView;


/**
 * <p>
 * <code>Button</code> represents a push-button widget. Push-buttons can be
 * pressed, or clicked, by the user to perform an action. A typical use of a
 * push-button in an activity would be the following:
 * Represents a push-button widget. Push-buttons can be
 * pressed, or clicked, by the user to perform an action.

 * <p>A typical use of a push-button in an activity would be the following:
 * </p>
 *
 * <pre class="prettyprint">
 * <pre>
 * public class MyActivity extends Activity {
 *     protected void onCreate(Bundle icicle) {
 *         super.onCreate(icicle);
@@ -45,11 +45,47 @@ import android.widget.RemoteViews.RemoteView;
 *             }
 *         });
 *     }
 * }
 * </pre>
 * }</pre>
 *
 * <p>However, instead of applying an {@link android.view.View.OnClickListener OnClickListener} to
 * the button in your activity, you can assign a method to your button in the XML layout,
 * using the {@link android.R.attr#onClick android:onClick} attribute. For example:</p>
 *
 * <pre>
 * &lt;Button
 *     android:layout_height="wrap_content"
 *     android:layout_width="wrap_content"
 *     android:text="@string/self_destruct"
 *     android:onClick="selfDestruct" /&gt;</pre>
 *
 * <p>Now, when a user clicks the button, the Android system calls the activity's {@code
 * selfDestruct(View)} method. In order for this to work, the method must be public and accept
 * a {@link android.view.View} as its only parameter. For example:</p>
 *
 * <pre>
 * public void selfDestruct(View view) {
 *     // Kabloey
 * }</pre>
 *
 * <p>The {@link android.view.View} passed into the method is a reference to the widget
 * that was clicked.</p>
 *
 * <h3>Button style</h3>
 *
 * <p>Every Button is styled using the system's default button background, which is often different
 * from one device to another and from one version of the platform to another. If you're not
 * satisfied with the default button style and want to customize it to match the design of your
 * application, then you can replace the button's background image with a <a
 * href="{@docRoot}guide/topics/resources/drawable-resource.html#StateList">state list drawable</a>.
 * A state list drawable is a drawable resource defined in XML that changes its image based on
 * the current state of the button. Once you've defined a state list drawable in XML, you can apply
 * it to your Button with the {@link android.R.attr#background android:background}
 * attribute. For more information and an example, see <a
 * href="{@docRoot}guide/topics/resources/drawable-resource.html#StateList">State List
 * Drawable</a>.</p>
 *
 * <p>See the <a href="{@docRoot}resources/tutorials/views/hello-formstuff.html">Form Stuff
 * tutorial</a>.</p>
 * <p>Also see the <a href="{@docRoot}resources/tutorials/views/hello-formstuff.html">Form Stuff
 * tutorial</a> for an example implementation of a button.</p>
 *
 * <p><strong>XML attributes</strong></p>
 * <p>
+9 −9
Original line number Diff line number Diff line
@@ -729,12 +729,12 @@ default value should always be last (as demonstrated in the following example).<
&lt;/selector>
</pre>

<p>This layout XML applies the drawable to a View:</p>
<p>This layout XML applies the state list drawable to a Button:</p>
<pre>
&lt;ImageView
&lt;Button
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:src="@drawable/button" />
    android:background="@drawable/button" />
</pre>
</dd> <!-- end example -->