ToggleButton: Cho phép người dùng có thể thay đổi cài đặt giữa hai trạng thái.
CheckBox: Cho phép người dùng chọn một trong hai trạng thái các bạn đã rất quen thuộc với CheckBox với remmerber trên yahoo và facbook…
Để làm rõ 2 thành phần này trong ví dụ này mình sẽ làm một ứng dụng với kịch bản như sau: Giao diện của ứng dụng gồm 1 CheckBox (CB), 1 ToggleButton(TB) và 1 Button. Khi bạn click vào CB hay TB mình sẽ hiện Toast để thông báo trạng thái hiện tại của CB hay TB. Khi bạn click vào Button mình sẽ hiển thị trạng thái hiện tại của CB và TB
Để làm được ví dụ này các bạn thực hiện lần lượt các bước sau:
Bước 1: Mở file res-> values ->strings.xml
1
2
3
4
5
6
7
8
9
10
11
| <? xml version = "1.0" encoding = "utf-8" ?> < resources > < string name = "app_name" >CheckBoxDemo</ string > < string name = "action_settings" >Settings</ string > < string name = "hello_world" >Hello world!</ string > < string name = "cbDemo" >Remember</ string > < string name = "textOn" >BAT</ string > < string name = "textOff" >TAT</ string > < string name = "showState" >Show States</ string > </ resources > |
Bước 2: Mở file res-> layout ->activity_main.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
| android:layout_width = "match_parent" android:layout_height = "match_parent" android:orientation = "vertical" tools:context = ".MainActivity" > < CheckBox android:id = "@+id/cbDemo" android:layout_width = "fill_parent" android:layout_height = "wrap_content" android:layout_marginTop = "10dp" android:checked = "false" android:text = "@string/cbDemo" /> < ToggleButton android:id = "@+id/tbDemo" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_marginTop = "10dp" android:checked = "false" android:textOff = "@string/textOff" android:textOn = "@string/textOn" /> < Button android:id = "@+id/btShowState" android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_marginTop = "10dp" android:text = "@string/showState" /> </ LinearLayout > |
Bước 3: mở file MainActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
| package com.example.checkboxdemo; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.CompoundButton.OnCheckedChangeListener; import android.widget.Toast; import android.widget.ToggleButton; public class MainActivity extends Activity { // khai bao CheckBox va ToggleButton private CheckBox cbDemo; private ToggleButton tbDemo; private Button btShowState; @Override protected void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(R.layout.activity_main); // ve cac buoc xu ly cua CheckBox va ToggleButton cung tuong tu cac loai // View khac // can khai bao bien -> link den layout de dieu khien // su kien hay duoc su dung de handler cho CheckBox va ToggleButton la // setOnCheckedChangeListener cbDemo = (CheckBox) findViewById(R.id.cbDemo); cbDemo.setOnCheckedChangeListener( new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // Khi check box thay doi gia tri se thuc hien doan lenh trong // ham nay if (isChecked) { ShowToastLong(MainActivity. this , "CheckBox is true" ); } else { ShowToastLong(MainActivity. this , "CheckBox is false" ); } } }); tbDemo = (ToggleButton) findViewById(R.id.tbDemo); tbDemo.setOnCheckedChangeListener( new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // Khi ToggleButton thay doi gia tri se thuc hien doan lenh // trong // ham nay if (isChecked) { ShowToastLong(MainActivity. this , "ToggleButton is BAT" ); } else { ShowToastLong(MainActivity. this , "ToggleButton is TAT" ); } } }); // Cac ban co the lay trang thai hien tai cua CheckBox va ToggleButton // khi can // trong vi du nay khi onClick vao Button minh se hien thi ra trang thai // hien tai // cua CheckBox va Toggle la co bi Checked hay khong btShowState = (Button) findViewById(R.id.btShowState); btShowState.setOnClickListener( new OnClickListener() { @Override public void onClick(View v) { boolean sttCheckBox = cbDemo.isChecked(); boolean sttToggleButton = tbDemo.isChecked(); ShowToastLong(MainActivity. this , "CheckBox is checked: " + sttCheckBox + " ToggleButton is checked: " + sttToggleButton); } }); } protected static void ShowToastLong(Context mContext, String message) { // TODO Auto-generated method stub Toast.makeText(mContext, message, Toast.LENGTH_LONG).show(); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true ; } } |
0 nhận xét:
Đăng nhận xét