FileDocCategorySizeDatePackage
Button.javaAPI DocAndroid 5.1 API4734Thu Mar 12 22:22:10 GMT 2015android.widget

Button

public class Button extends TextView
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:

public class MyActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);

setContentView(R.layout.content_layout_id);

final Button button = (Button) findViewById(R.id.button_id);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on click
}
});
}
}

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:

<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/self_destruct"
android:onClick="selfDestruct" />

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:

public void selfDestruct(View view) {
// Kabloey
}

The {@link android.view.View} passed into the method is a reference to the widget that was clicked.

Button style

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 state list drawable. 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 State List Drawable.

See the Buttons guide.

XML attributes

See {@link android.R.styleable#Button Button Attributes}, {@link android.R.styleable#TextView TextView Attributes}, {@link android.R.styleable#View View Attributes}

Fields Summary
Constructors Summary
public Button(android.content.Context context)

        this(context, null);
    
public Button(android.content.Context context, android.util.AttributeSet attrs)

        this(context, attrs, com.android.internal.R.attr.buttonStyle);
    
public Button(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr)

        this(context, attrs, defStyleAttr, 0);
    
public Button(android.content.Context context, android.util.AttributeSet attrs, int defStyleAttr, int defStyleRes)

        super(context, attrs, defStyleAttr, defStyleRes);
    
Methods Summary
public voidonInitializeAccessibilityEvent(android.view.accessibility.AccessibilityEvent event)

        super.onInitializeAccessibilityEvent(event);
        event.setClassName(Button.class.getName());
    
public voidonInitializeAccessibilityNodeInfo(android.view.accessibility.AccessibilityNodeInfo info)

        super.onInitializeAccessibilityNodeInfo(info);
        info.setClassName(Button.class.getName());