ToggleButton控件,Switch控件

(一)

1.效果图

  

 2. activity_main.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.example.app4.MainActivity"
11     android:orientation="vertical">
12 
13     <ToggleButton
14         android:id="@+id/tb_button"
15         android:textOn="纵向布局"
16         android:textOff="横向布局"
17         android:checked="true"
18         android:layout_width="wrap_content"
19         android:layout_height="wrap_content" />
20 
21     <LinearLayout
22         android:id="@+id/ll"
23         android:orientation="vertical"
24         android:layout_width="wrap_content"
25         android:layout_height="wrap_content">
26         <Button
27             android:text="按钮1"
28             android:layout_width="wrap_content"
29             android:layout_height="wrap_content" />
30         <Button
31             android:text="按钮2"
32             android:layout_width="wrap_content"
33             android:layout_height="wrap_content" />
34         <Button
35             android:text="按钮3"
36             android:layout_width="wrap_content"
37             android:layout_height="wrap_content" />
38     </LinearLayout>
39 </LinearLayout>

3.MainActivity.java

 1 package com.example.app4;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 import android.widget.CompoundButton;
 6 import android.widget.LinearLayout;
 7 import android.widget.ToggleButton;
 8 
 9 public class MainActivity extends AppCompatActivity {
10     private ToggleButton toggleButton;
11     private LinearLayout linearLayout;
12 
13 
14     @Override
15     protected void onCreate(Bundle savedInstanceState) {
16         super.onCreate(savedInstanceState);
17         setContentView(R.layout.activity_main);
18         toggleButton = (ToggleButton) findViewById(R.id.tb_button);
19         linearLayout = (LinearLayout) findViewById(R.id.ll);
20 
21         toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
22             @Override
23             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
24                 if (isChecked){
25                     //设置纵向布局
26                     linearLayout.setOrientation(LinearLayout.VERTICAL);
27                     toggleButton.setChecked(true);
28                 }else {
29                     //设置纵向布局
30                     linearLayout.setOrientation(LinearLayout.HORIZONTAL);
31                     toggleButton.setChecked(false);
32                 }
33             }
34         });
35     }
36 }

 (二)

1.效果图

    

2.activity_main.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     xmlns:tools="http://schemas.android.com/tools"
 4     android:layout_width="match_parent"
 5     android:layout_height="match_parent"
 6     android:paddingBottom="@dimen/activity_vertical_margin"
 7     android:paddingLeft="@dimen/activity_horizontal_margin"
 8     android:paddingRight="@dimen/activity_horizontal_margin"
 9     android:paddingTop="@dimen/activity_vertical_margin"
10     tools:context="com.example.app4.MainActivity"
11     android:orientation="vertical">
12 
13     <ToggleButton
14         android:id="@+id/tb_button"
15         android:textOn="纵向布局"
16         android:textOff="横向布局"
17         android:checked="true"
18         android:layout_width="wrap_content"
19         android:layout_height="wrap_content" />
20     <Switch
21         android:id="@+id/sw"
22         android:checked="true"
23         android:layout_width="wrap_content"
24         android:layout_height="wrap_content" />
25 
26     <LinearLayout
27         android:id="@+id/ll"
28         android:orientation="vertical"
29         android:layout_width="wrap_content"
30         android:layout_height="wrap_content">
31         <Button
32             android:text="按钮1"
33             android:layout_width="wrap_content"
34             android:layout_height="wrap_content" />
35         <Button
36             android:text="按钮2"
37             android:layout_width="wrap_content"
38             android:layout_height="wrap_content" />
39         <Button
40             android:text="按钮3"
41             android:layout_width="wrap_content"
42             android:layout_height="wrap_content" />
43     </LinearLayout>
44 </LinearLayout>

3.MainActivity.java

 1 package com.example.app4;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 import android.widget.CompoundButton;
 6 import android.widget.LinearLayout;
 7 import android.widget.Switch;
 8 import android.widget.ToggleButton;
 9 
10 public class MainActivity extends AppCompatActivity {
11     private ToggleButton toggleButton;
12     private LinearLayout linearLayout;
13     private Switch aSwitch;
14 
15 
16     @Override
17     protected void onCreate(Bundle savedInstanceState) {
18         super.onCreate(savedInstanceState);
19         setContentView(R.layout.activity_main);
20         toggleButton = (ToggleButton) findViewById(R.id.tb_button);
21         linearLayout = (LinearLayout) findViewById(R.id.ll);
22         aSwitch = (Switch) findViewById(R.id.sw);
23 
24         MyListener myListener = new MyListener();
25 
26 
27         toggleButton.setOnCheckedChangeListener(myListener);
28         aSwitch.setOnCheckedChangeListener(myListener);
29 
30 
31         /*toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
32             @Override
33             public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
34                 if (isChecked){
35                     //设置纵向布局
36                     linearLayout.setOrientation(LinearLayout.VERTICAL);
37                     toggleButton.setChecked(true);
38                 }else {
39                     //设置纵向布局
40                     linearLayout.setOrientation(LinearLayout.HORIZONTAL);
41                     toggleButton.setChecked(false);
42                 }
43             }
44         });*/
45     }
46 
47     class  MyListener implements CompoundButton.OnCheckedChangeListener{
48         @Override
49         public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
50             if (isChecked){
51                 //设置纵向布局
52                 linearLayout.setOrientation(LinearLayout.VERTICAL);
53                 toggleButton.setChecked(true);
54                 aSwitch.setChecked(true);
55             }else {
56                 //设置纵向布局
57                 linearLayout.setOrientation(LinearLayout.HORIZONTAL);
58                 toggleButton.setChecked(false);
59                 aSwitch.setChecked(false);
60             }
61         }
62     }
63 }
原文地址:https://www.cnblogs.com/sunxiaoyan/p/9039279.html