Androidアプリを開発しているときに、カレンダーを表示したいと思ったので、基本的な手順を記載しておきます。
とてもシンプルな手順で実装できます。
CalendarViewの表示
Viewを表示するだけなら、layout定義のxmlファイルにCalendarViewを設定するだけでOKです。
<CalendarView
android:id="@+id/calendar"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
これだけで、カレンダーは表示されます。
エミュレータ起動時の画面はこのようになります。

リスナーの設定
日付を選択した場合の動作を定義する場合は、CalendarView#setOnDateChangeListenerをセットします。
今回は、選択した日付をトーストで表示するようにしてみます。
MainのActivityクラスに下記を実装します。
import androidx.annotation.NonNull;
import androidx.appcompat.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 calendar = findViewById(R.id.calendar);
calendar.setOnDateChangeListener(
new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(@NonNull CalendarView calendarView, int year, int month, int date) {
String message = year + "/" + (month + 1) + "/" + date;
Toast.makeText(getApplicationContext(), message, Toast.LENGTH_LONG).show();
}
}
);
}
}
動作確認です。エミュレータで起動した画面がこちら。
選択した日付が、画面下にトーストで表示されているのがわかります。


