ともちゃんのアプリ開発日記

組込みC言語プログラマだったともちゃんが、四苦八苦しながら、AndroidのJAVA/Kotlin、iOSのSwiftUIを習得して行きます。ともちゃんの備忘録も兼ねています。

Android 5.0(Lollipop)でDatePickerをスピナー型にする

Android 5.0(Lollipop)では、datePicker.setSpinnersShown(true)もdatePicker.setCalendarViewShown(false)も効きません。datePickerは強制的にカレンダ型になってしまいます。

スピナー型を選択する場合、旧テーマを選択することにより実現できます。

// 日付設定ダイアログの作成・リスナの登録
DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), android.R.style.Theme_Holo_Dialog, DateSetListener, year, monthOfYear, dayOfMonth);

// 日付設定ダイアログの表示
datePickerDialog.show();

 

 android.R.style.Theme_Holo_Dialogで、旧テーマを指定しています。

 

2017/9/4追記

Android 7.0以降では、この方法は通用しません。