Membuat Android CalenderView


Android sudah mendukung penggunaan calendarView sejak API 11. Penggunaannya cukup sederhana yaitu untuk menampilkan tanggal dan memilih tanggal. Range tanggal juga dapat dikkonfigurasi, dan user dapat memilih tanggal dengan hanya menyentuh dan scroll. Untuk menangani user action pada perubahan tanggal dengan mengimplementasikan  CalendarView.OnDateChangeListener.

Berikut ini contohnya :

Disisi xml layout anda memanggil xml calenderview :

<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:orientation="vertical"
    tools:context=".MainActivity" >
 
    <textview android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world"></textview>
    <calendarview android:id="@+id/calendar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"></calendarview>
 
</linearlayout>

Sementara di code java, ditambahkan untuk onDateChangeListener :

package com.example.androidcalendarview;
 
import android.os.Bundle;
import android.widget.CalendarView;
import android.widget.CalendarView.OnDateChangeListener;
import android.widget.Toast;
import android.app.Activity;
 
public class MainActivity extends Activity {
  
 CalendarView calendar;
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  calendar = (CalendarView)findViewById(R.id.calendar);
  calendar.setOnDateChangeListener(new OnDateChangeListener(){
 
   @Override
   public void onSelectedDayChange(CalendarView view, 
     int year, int month, int dayOfMonth) {
    Toast.makeText(getApplicationContext(), 
      "Year: " + year + "n" +
      "Month: " + month + "n" +
      "Day of Month: " + dayOfMonth, 
      Toast.LENGTH_LONG).show();
     
   }});
 }
 
}

androidcalenderview
Selesai