Android: ToggleButton trong Android


Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên

ToggleButton hiển thị các trạng thái checked/unchecked như một button. Về cơ bản, nó là một on/off button với một light indicator.

Thuộc tính của ToggleButton trong Android

Bảng dưới liệt kê một số thuộc tính quan trọng liên quan tới ToggleButton Control:

Thuộc tính Miêu tả
android:disabledAlpha Đây là alpha để áp dụng cho indicator khi bị vô hiệu hóa
android:textOff Đây là text cho nút khi nó không được checked
android:textOn Đây là text cho nút khi nó được checked

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:contentDescription Thuộc tính này đị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 id cho view
android:onClick Đây là tên của phương thức trong context của View này, để triệu hồi khi view được click
android:visibility Điều khiển tính nhìn thấy của view

Ví dụ

Ví dụ sau sẽ minh họa cách tạo ứng dụng Androidd với ToggleButton.

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
3 Sửa đổi nội dung mặc định của file res/layout/activity_main.xml để chứa các UI Control
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 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/app_name"
        android:textColor="#009688"
        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.072" />

    <ImageView
        android:layout_width="170dp"
        android:layout_height="170dp"
        android:contentDescription="@string/logo_v1study"
        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.194"
        app:srcCompat="@drawable/logo_v1_regular" />

    <ToggleButton
        android:id="@+id/toggleButtonON"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:checked="true"
        android:text="@string/on"
        android:textColor="#009688"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.17"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.555" />

    <ToggleButton
        android:id="@+id/toggleButtonOff"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/app_name"
        android:textColor="#009688"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.808"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.555" />

    <Button
        android:id="@+id/btnClickMe"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/click_me"
        android:textColor="#009688"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintHorizontal_bias="0.498"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintRight_toRightOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_bias="0.722" />

</androidx.constraintlayout.widget.ConstraintLayout>

Sau đây là nội dung của file Main Activity:

package v1study.com.togglebutton;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.widget.ToggleButton;

public class MainActivity extends AppCompatActivity {

    ToggleButton tg1,tg2;
    Button btn;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tg1=(ToggleButton)findViewById(R.id.toggleButtonON);
        tg2=(ToggleButton)findViewById(R.id.toggleButtonOff);
        btn=(Button)findViewById(R.id.btnClickMe);

        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String str="";
                str+="The first ToggleButton status: "+tg1.getText();
                str+="\nThe second ToggleButton status: "+tg2.getText();
                Toast.makeText(MainActivity.this,str,Toast.LENGTH_LONG).show();
            }
        });
    }
}

Sau đây là nội dung của file res/values/strings.xml:

<resources>
    <string name="app_name">ToggleButtonV1Study</string>
    <string name="logo_v1study">Logo V1Study</string>
    <string name="on">On</string>
    <string name="click_me">Click Me</string>
</resources>

 

Chạy ứng dụng Android:

ToggleButton Control

Nếu bạn nhấn vào các nút ToggleButton rồi nhấn nút Click Me thì sẽ nhận được thông báo trạng thái hiện tại của các ToggleButton:

ToggleButton Control

» Tiếp: ImageButton trong Android
« Trước: Button trong Android
Khóa học qua video:
Lập trình Python All Lập trình C# All SQL Server All Lập trình C All Java PHP HTML5-CSS3-JavaScript
Đăng ký Hội viên
Tất cả các video dành cho hội viên
Copied !!!