Merge "docs: add more info about state list drawable and onclick attribute to Button bug:1062898" into froyo

This commit is contained in:
Scott Main
2010-09-23 11:23:48 -07:00
committed by Android (Google) Code Review
2 changed files with 57 additions and 21 deletions

View File

@@ -25,13 +25,13 @@ import android.widget.RemoteViews.RemoteView;
/** /**
* <p> * Represents a push-button widget. Push-buttons can be
* <code>Button</code> represents a push-button widget. Push-buttons can be * pressed, or clicked, by the user to perform an action.
* pressed, or clicked, by the user to perform an action. A typical use of a
* push-button in an activity would be the following: * <p>A typical use of a push-button in an activity would be the following:
* </p> * </p>
* *
* <pre class="prettyprint"> * <pre>
* public class MyActivity extends Activity { * public class MyActivity extends Activity {
* protected void onCreate(Bundle icicle) { * protected void onCreate(Bundle icicle) {
* super.onCreate(icicle); * super.onCreate(icicle);
@@ -45,11 +45,47 @@ import android.widget.RemoteViews.RemoteView;
* } * }
* }); * });
* } * }
* } * }</pre>
* </pre>
* *
* <p>See the <a href="{@docRoot}resources/tutorials/views/hello-formstuff.html">Form Stuff * <p>However, instead of applying an {@link android.view.View.OnClickListener OnClickListener} to
* tutorial</a>.</p> * 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>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><strong>XML attributes</strong></p>
* <p> * <p>

View File

@@ -729,12 +729,12 @@ default value should always be last (as demonstrated in the following example).<
&lt;/selector> &lt;/selector>
</pre> </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> <pre>
&lt;ImageView &lt;Button
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:src="@drawable/button" /> android:background="@drawable/button" />
</pre> </pre>
</dd> <!-- end example --> </dd> <!-- end example -->