page.title=Buttons
page.tags="button","imagebutton"
@jd:body

<div id="qv-wrapper">
<div id="qv">
<h2>In this document</h2>
<ol>
  <li><a href="#HandlingEvents">Responding to Click Events</a>
    <ol>
      <li><a href="#ClickListener">Using an OnClickListener</a></li>
    </ol>
  </li>
  <li><a href="#Style">Styling Your Button</a>
    <ol>
      <li><a href="#Borderless">Borderless button</a></li>
      <li><a href="#CustomBackground">Custom background</a></li>
    </ol>
  </li>
</ol>
  <h2>Key classes</h2>
  <ol>
    <li>{@link android.widget.Button}</li>
    <li>{@link android.widget.ImageButton}</li>
  </ol>
</div>
</div>


<p>A button consists of text or an icon (or both text and an icon) that communicates what action
occurs when the user touches it.</p>

<img src="{@docRoot}images/ui/button-types.png" alt="" />

<p>Depending on whether you want a button with text, an icon, or both, you can create the
button in your layout in three ways:</p>
<ul>
  <li>With text, using the {@link android.widget.Button} class:
<pre>
&lt;Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_text"
    ... />
</pre>
  </li>
  <li>With an icon, using the {@link android.widget.ImageButton} class:
<pre>
&lt;ImageButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/button_icon"
    ... />
</pre>
  </li>
  <li>With text and an icon, using the {@link android.widget.Button} class with the <a
href="{@docRoot}reference/android/widget/TextView.html#attr_android:drawableLeft">{@code
android:drawableLeft}</a> attribute:
<pre>
&lt;Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_text"
    android:drawableLeft="@drawable/button_icon"
    ... />
</pre>
</li>
</ul>

<h2 id="HandlingEvents">Responding to Click Events</h2>

<p>When the user clicks a button, the {@link android.widget.Button} object receives
an on-click event.</p>

<p>To define the click event handler for a button, add the {@link
android.R.attr#onClick android:onClick} attribute to the {@code &lt;Button&gt;} element in your XML
layout. The value for this attribute must be the name of the method you want to call in response
to a click event. The {@link android.app.Activity} hosting the layout must then implement the
corresponding method.</p>

<p>For example, here's a layout with a button using {@link
android.R.attr#onClick android:onClick}:</p>

<pre>
&lt;?xml version="1.0" encoding="utf-8"?>
&lt;Button xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/button_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage" />
</pre>

<p>Within the {@link android.app.Activity} that hosts this layout, the following method handles
the click event:</p>

<pre>
/** Called when the user touches the button */
public void sendMessage(View view) {
    // Do something in response to button click
}
</pre>

<p>The method you declare in the {@link android.R.attr#onClick android:onClick} attribute must have
a signature exactly as shown above. Specifically, the method must:</p>
<ul>
  <li>Be public</li>
  <li>Return void</li>
  <li>Define a {@link android.view.View} as its only parameter (this will be the {@link
android.view.View} that was clicked)</li>
</ul>


<h3 id="ClickListener">Using an OnClickListener</h3>

<p>You can also declare the click event handler pragmatically rather than in an XML layout. This
might be necessary if you instantiate the {@link android.widget.Button} at runtime or you need to
declare the click behavior in a {@link android.app.Fragment} subclass.</p>

<p>To declare the event handler programmatically, create an {@link
android.view.View.OnClickListener} object and assign it to the button by calling {@link
android.view.View#setOnClickListener}. For example:</p>

<pre>
Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
        // Do something in response to button click
    }
});
</pre>


<h2 id="Style">Styling Your Button</h2>

<p>The appearance of your button (background image and font) may vary from one device to
another, because devices by different manufacturers often have different default styles for
input controls.</p>

<p>You can control exactly how your controls are styled using a theme that you apply to your
entire application. For instance, to ensure that all devices running Android 4.0 and higher use
the Holo theme in your app, declare {@code android:theme="@android:style/Theme.Holo"} in your
manifest's {@code &lt;application&gt;} element. Also read the blog post, <a
href="http://android-developers.blogspot.com/2012/01/holo-everywhere.html">Holo Everywhere</a>
for information about using the Holo theme while supporting older devices.</p>

<p>To customize individual buttons with a different background, specify the {@link
android.R.attr#background android:background} attribute with a drawable or color resource.
Alternatively, you can apply a <em>style</em> for the button, which works in a manner similar to
HTML styles to define multiple style properties such as the background, font, size, and others.
For more information about applying styles, see <a
href="{@docRoot}guide/topics/ui/themes.html">Styles and Themes</a>.</p>


<h3 id="Borderless">Borderless button</h3>

<p>One design that can be useful is a "borderless" button. Borderless buttons resemble
basic buttons except that they have no borders or background but still change appearance during
different states, such as when clicked.</p>

<p>To create a borderless button, apply the {@link android.R.attr#borderlessButtonStyle}
style to the button. For example:</p>

<pre>
&lt;Button
    android:id="@+id/button_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage"
    style="?android:attr/borderlessButtonStyle" />
</pre>



<h3 id="CustomBackground">Custom background</h3>

<p>If you want to truly redefine the appearance of your button, you can specify a custom
background. Instead of supplying a simple bitmap or color, however, your background should be a
state list resource that changes appearance depending on the button's current state.</p>

<p>You can define the state list in an XML file that defines three different images or colors to use
for the different button states.</p>

<p>To create a state list drawable for your button background:</p>

<ol>
  <li>Create three bitmaps for the button background that represent the default, pressed, and
focused button states.
    <p>To ensure that your images fit buttons of various sizes, create the bitmaps as <a
href="{@docRoot}guide/topics/graphics/2d-graphics.html#nine-patch">Nine-patch</a> bitmaps.</p>
  </li>
  <li>Place the bitmaps into the <code>res/drawable/</code> directory of
your project. Be sure each bitmap is named properly to reflect the button state that they each
represent, such as {@code button_default.9.png}, {@code button_pressed.9.png}, and {@code
button_focused.9.png}.</li>
  <li>Create a new XML file in the <code>res/drawable/</code> directory (name it something like
<code>button_custom.xml</code>). Insert the following XML:
<pre>
&lt;?xml version="1.0" encoding="utf-8"?>
&lt;selector xmlns:android="http://schemas.android.com/apk/res/android">
    &lt;item android:drawable="@drawable/button_pressed"
          android:state_pressed="true" />
    &lt;item android:drawable="@drawable/button_focused"
          android:state_focused="true" />
    &lt;item android:drawable="@drawable/button_default" />
&lt;/selector>
</pre>
  <p>This defines a single drawable resource, which will change its image based on the current
state of the button.</p>
<ul>
  <li>The first <code>&lt;item></code> defines the bitmap to use when the button is
pressed (activated).</li>
  <li>The second <code>&lt;item></code> defines the bitmap to use when the button is
focused (when the button is highlighted using the trackball or directional
pad).</li>
  <li>The third <code>&lt;item></code> defines the bitmap to use when the button is in the 
default state (it's neither pressed nor focused).</li>
</ul>
  <p class="note"><strong>Note:</strong> The order of the <code>&lt;item></code> elements is
important. When this drawable is referenced, the  <code>&lt;item></code> elements are traversed
in-order to determine which one is appropriate for the current button state. Because the default
bitmap is last, it is only applied when the conditions <code>android:state_pressed</code> and
<code>android:state_focused</code> have both evaluated as false.</p>
  <p>This XML file now represents a single
drawable resource and when referenced by a {@link android.widget.Button} for its background,
the image displayed will change based on these three states.</p>
</li>
  <li>Then simply apply the drawable XML file as the button background:
<pre>
&lt;Button
    android:id="@+id/button_send"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button_send"
    android:onClick="sendMessage"
    android:background="@drawable/button_custom"  />
</pre>
</ol>

  <p>For more information about this XML syntax, including how to define a disabled, hovered, or
other button states, read about <a
href="{@docRoot}guide/topics/resources/drawable-resource.html#StateList">State List
Drawable</a>.</p>