Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Android

Cách tạo Alert Dialog tùy chỉnh trong ứng dụng Android bằng Kotlin

Giới thiệu

Bài viết này minh họa cách tạo Alert Dialog tùy chỉnh (custom Alert Dialog) trong ứng dụng Android sử dụng Kotlin.

Các bước thực hiện

Bước 1: Tạo dự án mới

Mở Android Studio, chọn File → New Project và điền đầy đủ thông tin để tạo dự án mới.

Bước 2: Thiết kế giao diện chính (res/layout/activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:tools="https://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="MainActivity">

    <Button
        android:id="@+id/buttonShowCustomDialog"
        style="@android:style/Widget.DeviceDefault.Button.Inset"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="131dp"
        android:onClick="exit"
        android:text="Nhấn"
        android:textStyle="normal|bold" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/buttonShowCustomDialog"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="86dp"
        android:gravity="center"
        android:text="NHẤN ĐỂ XEM CUSTOM ALERT DIALOG"
        android:textSize="18sp"
        android:textStyle="normal|bold" />
</RelativeLayout>

Bước 3: Tạo layout dialog tùy chỉnh (res/layout/customdialog.xml)

Tạo file customdialog.xml trong res/layout/ với nội dung mong muốn (ví dụ: TextView, Button OK/Cancel).

Bước 4: Viết logic xử lý (src/MainActivity.kt)

import android.app.Dialog
import android.content.Context
import android.os.Bundle
import android.view.View
import android.widget.Button
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    private val context: Context = this

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        title = "KotlinApp"
    }

    fun exit(view: View) {
        val dialog = Dialog(context)
        dialog.setContentView(R.layout.customdialog)
        val dialogButton = dialog.findViewById<Button>(R.id.dialogButtonOK)
        dialogButton.setOnClickListener {
            dialog.dismiss()
            Toast.makeText(applicationContext, "Đã đóng..!!", Toast.LENGTH_SHORT).show()
        }
        dialog.show()
    }
}

Bước 5: Cấu hình Manifest (androidManifest.xml)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="com.example.q11">
    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Chạy ứng dụng

Kết nối thiết bị Android thực với máy tính. Trong Android Studio, mở file activity và nhấn biểu tượng Run trên thanh công cụ. Chọn thiết bị di động của bạn và kiểm tra màn hình hiển thị.

Mẹo: Có thể dùng AlertDialog.Builder cho dialog đơn giản hơn. Custom Dialog cho phép layout phức tạp, animation, full-screen.