Android: CheckBox trong Android
Giải phóng thời gian, khai phóng năng lực
Một CheckBox là một on/off switch mà có thể được toggle bởi người dùng. Bạn có thể sử dụng checkbox khi hiển thị cho người dùng một nhóm các tùy chọn có thể lựa chọn mà không loại trừ lẫn nhau.
CHECKBOX
Các thuộc tính của CheckBox trong Android
Bảng dưới liệt kê một số thuộc tính quan trọng liên quan tới CheckBox:
Kế thừa từ lớp android.widget.TextView:
Thuộc tính | Miêu tả |
---|---|
android:autoText | Nếu được thiết lập, xác định rằng TextView này có một phương thức đầu vào thuần văn bản và tự động sửa các lỗi chính tả phổ biến |
android:drawableBottom | Đây là drawable để được vẽ dưới text |
android:drawableRight | Đây là drawable để được vẽ bên phải text |
android:editable | Nếu được thiết lập, xác định rằng TextView này có một phương thức đầu vào |
android:text | Đây là Text để hiển thị |
Kế thừa từ lớp android.view.View:
Thuộc tính | Miêu tả |
---|---|
android:background | Đây là một drawable để sử dụng như background |
android:contentMiêu tả | Định nghĩa text mà miêu tả ngắn gọn nội dung của view |
android:id | Cung cấp một tên định danh cho view này |
android:onClick | Đây là tên phương thức trong ngữ cảnh View này để triệu hồi khi view được click |
android:visibility | Điều khiển sự nhìn thấy ban đầu của view |
Ví dụ
Ví dụ sau sẽ minh họa cách tạo ứng dụng Androidd với CheckBox.
Bước | Miêu tả |
---|---|
1 | Bạn sử dụng Android Studio IDE để tạo một ứng dụng Android. |
2 | Sửa đổi file src/MainActivity.java để thêm một click event |
2 | Sửa đổi nội dung mặc định của file res/layout/activity_main.xml để bao gồm UI Control |
3 | Không cần làm gì đối với file strings.xml, Android Studio sẽ để ý các hằng chuỗi mặc định |
4 | Chạy ứng dụng để chạy Android Emulator và kiểm tra kết quả các thay đổi đã thực hiện trong ứng dụng |
Sau đây là nội dung của file Main Activity:
package v1study.com.checkbox; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.Toast; public class MainActivity extends AppCompatActivity { Button btn1,btn2; CheckBox chk1,chk2; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); chk1=(CheckBox)findViewById(R.id.chkAndroid); chk2=(CheckBox)findViewById(R.id.chkV1Study); btn1=(Button)findViewById(R.id.btnOK); btn2=(Button)findViewById(R.id.btnCancel); btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String str=""; str+="Thanks: "+chk1.isChecked(); str+="\nThanks: "+chk2.isChecked(); Toast.makeText(getApplicationContext(),str,Toast.LENGTH_LONG).show(); } }); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { finish(); } }); } }
Sau đây là nội dung của file res/layout/activity_main.xml:
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/checkboxv1study" android:textAllCaps="true" android:textColor="#8BC34A" android:textSize="30sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.1" /> <ImageView android:layout_width="170dp" android:layout_height="170dp" android:contentDescription="@string/logo_v1study" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.497" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.272" app:srcCompat="@drawable/logo_v1_regular" /> <CheckBox android:id="@+id/chkAndroid" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/do_you_like_android" android:textAllCaps="false" android:textColor="#8BC34A" android:textSize="30sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.531" /> <CheckBox android:id="@+id/chkV1Study" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/do_you_like_v1study" android:textAllCaps="false" android:textColor="#8BC34A" android:textSize="30sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.549" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.618" /> <Button android:id="@+id/btnCancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@android:string/cancel" android:textAllCaps="true" android:textColor="#8BC34A" android:textSize="30sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.82" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.767" /> <Button android:id="@+id/btnOK" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@android:string/ok" android:textAllCaps="true" android:textColor="#8BC34A" android:textSize="30sp" android:textStyle="bold" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintHorizontal_bias="0.154" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:layout_constraintVertical_bias="0.767" /> </androidx.constraintlayout.widget.ConstraintLayout>
Sau đây là nội dung của file res/values/strings.xml:
<resources> <string name="app_name">CheckboxV1Study</string> <string name="checkboxv1study">CheckboxV1Study</string> <string name="logo_v1study">Logo V1Study</string> <string name="do_you_like_android">Do you like Android?</string> <string name="do_you_like_v1study">Do you like V1Study?</string> </resources>
Chạy ứng dụng:
Khi chọn các checkbox rồi nhấn nút OK ta được kết quả:
Khi nhấn nút Cancel thì ứng dụng sẽ kết thúc (tắt).
Giải phóng thời gian, khai phóng năng lực