===========================================================================================
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="5dp" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <TextView android:layout_width="0dp" android:layout_height="match_parent" android:layout_weight="1" android:gravity="left|center_vertical" android:text="Switch开关:" android:textColor="@color/black" android:textSize="17sp" /> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" > <Switch android:id="@+id/sw_status" android:layout_width="80dp" android:layout_height="30dp" /> </LinearLayout> </LinearLayout> <TextView android:id="@+id/tv_result" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="5dp" android:gravity="left" android:textColor="@color/black" android:textSize="17sp" /> </LinearLayout>
package com.example.myapplication; import android.annotation.SuppressLint; import android.content.pm.ActivityInfo; import android.content.pm.PackageManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.Switch; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends AppCompatActivity implements CompoundButton.OnCheckedChangeListener { private Switch sw_status; // 声明一个开关按钮对象 private TextView tv_result; // 声明一个文本视图对象 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 从布局文件中获取名叫sw_status的开关按钮 sw_status = findViewById(R.id.sw_status); // 从布局文件中获取名叫tv_result的文本视图 tv_result = findViewById(R.id.tv_result); // 给开关按钮设置选择监听器,一旦用户点击它,就触发监听器的onCheckedChanged方法 sw_status.setOnCheckedChangeListener(this); refreshResult(); // 刷新Switch按钮的开关说明 } // 刷新Switch按钮的开关说明 private void refreshResult() { String result = String.format("Switch按钮的状态是%s", (sw_status.isChecked()) ? "开" : "关"); tv_result.setText(result); } // 选择事件的处理方法 @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { refreshResult(); } }