Giới thiệu
Bài viết này minh họa cách sử dụng Calendar Widget thông qua lớp CalendarView trong ứng dụng Android bằ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 (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:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="4dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/dateView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="Chọn ngày"
android:textColor="@android:color/background_dark"
android:textStyle="bold" />
<CalendarView
android:id="@+id/calender"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/dateView"
android:layout_centerInParent="true"
android:layout_marginTop="20dp">
</CalendarView>
</RelativeLayout>
Bước 3: Viết logic xử lý (src/MainActivity.kt)
import android.os.Bundle
import android.widget.CalendarView
import android.widget.CalendarView.OnDateChangeListener
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
lateinit var calendarView: CalendarView
lateinit var dateView: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
title = "Kotlin"
calendarView = findViewById(R.id.calender)
dateView = findViewById(R.id.dateView)
calendarView.setOnDateChangeListener(OnDateChangeListener { _, year, month, dayOfMonth ->
val date = dayOfMonth.toString() + "-" + (month + 1) + "-" + year
dateView.text = date
})
}
}
Bước 4: 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ị.
Lưu ý: CalendarView month bắt đầu từ 0 (Tháng 1 = 0), nên cầnmonth + 1. Có thể tùy chỉnh giao diện quaandroid:dateTextAppearance,android:weekDayTextAppearance.