A switch is type of button that can only have two states ON and OFF. You
can set the initial state and then the user can change it. To get the
current state you can check if the switch is checked or not, in addition
to that you can attach a OnCheckedChangeListener to the switch to get
notification when the state changes.
Android Screen Layout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:padding="5dp">
<Switch
android:id="@+id/mySwitch"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginTop="20dp"
android:text="Play with the Switch" />
<TextView
android:id="@+id/switchStatus"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/mySwitch"
android:layout_marginTop="22dp"
android:text="Medium Text"
android:textAppearance="?android:attr/textAppearanceMedium" />
</RelativeLayout>
Android Main Activity
|
package com.as400samplecode;
import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.Switch; import android.widget.TextView;
public class MainActivity extends Activity {
private TextView switchStatus; private Switch mySwitch;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
switchStatus = (TextView) findViewById(R.id.switchStatus); mySwitch = (Switch) findViewById(R.id.mySwitch);
//set the switch to ON mySwitch.setChecked(true); //attach a listener to check for changes in state mySwitch.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){ switchStatus.setText("Switch is currently ON"); }else{ switchStatus.setText("Switch is currently OFF"); }
} }); //check the current state before we display the screen if(mySwitch.isChecked()){ switchStatus.setText("Switch is currently ON"); } else { switchStatus.setText("Switch is currently OFF"); } }
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; }
}
|
0 comments:
Post a Comment