آموزش برنامه نویسی اندروید با اندروید استودیو (بخش سی و یکم: نمایش و کار با تقویم (CalendarView) در اندروید)

استاندارد

در این بخش از آموزش برنامه نویسی اندروید استودیو، می خواهیم به نحوه قرار دادن و نمایش و استفاده از تقویم در اپلیکیشن اندرویدی بپردازیم.

برای استفاده از تقویم در این آموزش، تنها لازم است که تقویم را بر روی لایه ایجاد و سپس به قسمت جاوای برنامه معرفی کنیم.

مثالی که در این آموزش زده می شود، اینست که رویدادی به نام onDateChangeListener را به CalendarView تعریف می کنیم. وقتی بر روی تاریخ مشخصی کلیک شود، این رویداد کاری را برای ما انجام می دهد. (نشان دادن روز و ماه و سال)

یک پروژه جدید به نام Calendar-Gsm را ایجاد می کنم.

حال به سراغ activity_main.xml می رویم و از قسمت Paletteها در پوشه Date & Time، یک CalendarView را به لایه اپلیکیشن برنامه می کشیم.

کد Calendar

<CalendarView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/calendarView"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginBottom="58dp" />

به سراغ MainActivity.java رفته و مراحل زیر را انجام می دهیم:

  1. CalendarView را به کد جاوای برنامه، معرفی و نام گذاری می کنیم.
  2. به CalendarView یک رویداد onDateChangeListener اضافه می کنیم.
  3. در رویداد onDateChangeListener، یک تابع با نام onSelectedDayChange  ایجاد می کنیم تا برای ما سال و ماه و روز با استفاده از Toast به نمایش در بیاورد.

تمامی این مراحل را در چرخه (تایع) onCreate انجام می دهیم.

مرحله اول:

معرفی و نام گذاری CalendarView در MainActivity.java

CalendarView Taghvim = (CalendarView) findViewById(R.id.calendarView);

مرحله دوم:

ایجاد رویداد setOnDateChangeListener

Taghvim.setOnDateChangeListener(new OnDateChangeListener() {

مرحله سوم:

معرفی تابع onSelectedDayChange به برنامه برای نشان دادن سال و ماه و روز

Toast.makeText(getApplicationContext(),dayOfMonth + "/" + month + "/" + year, Toast.LENGTH_LONG).show();

کد کامل MainActivity

package com.gsm_developers.calendar_gsm;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.CalendarView;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

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

        CalendarView Taghvim = (CalendarView) findViewById(R.id.calendarView);

        Taghvim.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {

            @Override
            public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {

                Toast.makeText(getApplicationContext(),dayOfMonth + "/" + month + "/" + year, Toast.LENGTH_LONG).show();
            }
        });
    }
}

وقتی برنامه را اجرا می کنیم، خروجی برنامه به شکل زیر است. با زدن هر تاریخی، سال و ماه و روز به کاربر نمایش داده می شود.

توجه داشته باشید که برنامه به این شکل نوشته شده است تا با calendarView در اندروید استودیو آشنا شوید. و بتوانید طرز استفاده از تقویم را یاد گرفته و در برنامه های خود به شیوه های دیگری از CalendarView استفاده نمایید. مثلا ممکن است بخواهید با استفاده از رویدادی بخواهید که وقتی تقویم به تاریخ مشخصی رسید، یادداشتی برای کاربر برای یادآوری برنامه هایش نمایش داده شود.