Android 实现开关灯效果

wKioL1QS6MnRZ2xGAABfOksGFj0270.jpg

wKiom1QS6Lixx5vgAABUKrH61pg466.jpg



activity_main.xml


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:id="@+id/linear_1"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:orientation="horizontal" >



    <ImageView

        android:id="@+id/image_1"

        android:layout_width="150dp"

        android:layout_height="150dp"

        android:contentDescription="@string/deng"

        android:src="@drawable/bulb_off"

        android:text="@string/hello_world" />


    <LinearLayout

        android:id="@+id/linear_2"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:orientation="vertical"

        android:paddingLeft="10dip"

        android:paddingTop="10dip" >


        <ToggleButton

            android:id="@+id/toggle"

            android:layout_width="140dip"

            android:layout_height="wrap_content"

            android:textOff="@string/off"

            android:textOn="@string/on" />


        <RadioGroup

            android:id="@+id/radio_1"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:orientation="horizontal" >


            <RadioButton

                android:id="@+id/button_off"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:checked="true"

                android:text="@string/off" />


            <RadioButton

                android:id="@+id/button_on"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:text="@string/on" />

        </RadioGroup>


        <CheckBox

            android:id="@+id/check"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:text="@string/on" />

    </LinearLayout>


</LinearLayout>



string.xml


<?xml version="1.0" encoding="utf-8"?>

<resources>


    <string name="app_name">ToggleButton</string>

    <string name="action_settings">Settings</string>

    <string name="hello_world">Hello world!</string>

    <string name="deng">灯</string>

    <string name="on">开灯</string>

    <string name="off">关灯</string>


</resources>




MainActivity.java



package com.malakana.togglebutton;


import android.os.Bundle;

import android.widget.CheckBox;

import android.widget.CompoundButton;

import android.widget.CompoundButton.OnCheckedChangeListener;

import android.widget.ImageView;

import android.widget.RadioButton;

import android.widget.ToggleButton;

import android.app.Activity;


public class MainActivity extends Activity {


@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);


ToggleButton tb = (ToggleButton) findViewById(R.id.toggle);

tb.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton arg0, boolean arg1) {

// TODO Auto-generated method stub

setBulbState(arg1);

}

});


CheckBox cb = (CheckBox) this.findViewById(R.id.check);

cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {


@Override

public void onCheckedChanged(CompoundButton arg0, boolean arg1) {

// TODO Auto-generated method stub

setBulbState(arg1);

}


});

RadioButton rb = (RadioButton) findViewById(R.id.button_off);

rb.setOnCheckedChangeListener(new OnCheckedChangeListener() {


@Override

public void onCheckedChanged(CompoundButton arg0, boolean arg1) {

// TODO Auto-generated method stub

setBulbState(!arg1);

}


});

}


public void setBulbState(boolean state) {

// TODO Auto-generated method stub

ImageView iv = (ImageView) findViewById(R.id.image_1);

iv.setImageResource((state) ? R.drawable.bulb_on : R.drawable.bulb_off);


ToggleButton tb = (ToggleButton) findViewById(R.id.toggle);

tb.setChecked(state);


CheckBox cb = (CheckBox) findViewById(R.id.check);

//cb.setText((state) ? R.string.on : R.string.off);

cb.setChecked(state);


RadioButton rb = (RadioButton) findViewById(R.id.button_off);

rb.setChecked(!state);

rb = (RadioButton) findViewById(R.id.button_on);

rb.setChecked(state);


}


}


你可能感兴趣的:(android,开关灯界面)