Friday, November 23, 2012

Toggle Button in android


Open “res/values/strings.xml” file, add some custom string for toggle buttons.
File : res/values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">MyAndroidApp</string>
    <string name="toggle_turn_on">Turn On</string>
    <string name="toggle_turn_off">Turn Off</string>
    <string name="btn_display">Display</string>
</resources>
Open “res/layout/main.xml” file, add two “ToggleButton” and a normal button, inside the LinearLayout.
File : res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
 
    <ToggleButton
        android:id="@+id/toggleButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="ToggleButton" />
 
    <ToggleButton
        android:id="@+id/toggleButton2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textOn="@string/toggle_turn_on"
        android:textOff="@string/toggle_turn_off"
        android:checked="true" />
 
    <Button
        android:id="@+id/btnDisplay"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/btn_display" />
 
</LinearLayout>
Note Review the “togglebutton2″, we did customized the togglebutton2′s display text on and off and made it checked by default.
Inside activity “onCreate()” method, attach a click listeners on a normal button, to display the current state of the toggle button.
File : MyAndroidAppActivity.java
package com.mkyong.android;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import android.widget.ToggleButton;
 
public class MyAndroidAppActivity extends Activity {
 
  private ToggleButton toggleButton1, toggleButton2;
  private Button btnDisplay;
 
  @Override
  public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
 
 addListenerOnButton();
 
  }
 
  public void addListenerOnButton() {
 
 toggleButton1 = (ToggleButton) findViewById(R.id.toggleButton1);
 toggleButton2 = (ToggleButton) findViewById(R.id.toggleButton2);
 btnDisplay = (Button) findViewById(R.id.btnDisplay);
 
 btnDisplay.setOnClickListener(new OnClickListener() {
 
  @Override
  public void onClick(View v) {
 
     StringBuffer result = new StringBuffer();
     result.append("toggleButton1 : ").append(toggleButton1.getText());
     result.append("\ntoggleButton2 : ").append(toggleButton2.getText());
 
     Toast.makeText(MyAndroidAppActivity.this, result.toString(),
   Toast.LENGTH_SHORT).show();
 
  }
 
 });
 
  }
}
1. Result, toggleButton2 is using the customized string, and checked by default.
android togglebutton demo1
2. Checked toggleButton1 and unchecked toggleButton2, and click on the display button, the current state of both toggle buttons will be displayed.
android togglebutton demo2

No comments:

Post a Comment