page.title=Toggle Buttons page.tags=switch,togglebutton @jd:body <div id="qv-wrapper"> <div id="qv"> <h2>In this document</h2> <ol> <li> <a href="#ClickListener">Responding to Button Presses</a> </li> </ol> <h2>Key classes</h2> <ol> <li>{@link android.widget.ToggleButton}</li> <li>{@link android.widget.Switch}</li> <li>{@link android.widget.CompoundButton}</li> </ol> </div> </div> <p>A toggle button allows the user to change a setting between two states.</p> <p>You can add a basic toggle button to your layout with the {@link android.widget.ToggleButton} object. Android 4.0 (API level 14) introduces another kind of toggle button called a switch that provides a slider control, which you can add with a {@link android.widget.Switch} object.</p> <p> If you need to change a button's state yourself, you can use the {@link android.widget.CompoundButton#setChecked CompoundButton.setChecked()} or {@link android.widget.CompoundButton#toggle CompoundButton.toggle()} methods. </p> <div style="float:left;width:200px"> <img src="{@docRoot}images/ui/togglebutton.png" alt="" /> <p class="img-caption"><em>Toggle buttons</em></p> </div> <div style="float:left;width:200px;margin-top:24px"> <img src="{@docRoot}images/ui/switch.png" alt="" /> <p class="img-caption"><em>Switches (in Android 4.0+)</em></p> </div> <h2 id="ClickListener">Responding to Button Presses</h2> <p> To detect when the user activates the button or switch, create an {@link android.widget.CompoundButton.OnCheckedChangeListener} object and assign it to the button by calling {@link android.widget.CompoundButton#setOnCheckedChangeListener setOnCheckedChangeListener()}. For example: </p> <pre> ToggleButton toggle = (ToggleButton) findViewById(R.id.togglebutton); toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { // The toggle is enabled } else { // The toggle is disabled } } }); </pre>