user8371791
user8371791

Reputation:

DatePickerDialog how to no show the calendar just a spinner?

I want to create a DatePickerDialog like this :

mDatePickerDialog = new DatePickerDialog(context, null /* listener */, 2000/* year */, 1/* month */, 1/* dayOfMonth */);

but with spinner like this :

enter image description here

i try to set this in the xml:

  <style name="MyDatePicker" parent="@android:style/Widget.DatePicker">
    <item name="android:calendarViewShown">false</item>
    <item name="android:datePickerMode">spinner</item>
  </style>

  <style name="MyAppTheme" parent="@android:style/Theme.Material.Light.NoActionBar"> 
    <item name="android:datePickerStyle">@style/MyDatePicker</item>
  </style>

but didn't work :(

Upvotes: 3

Views: 5518

Answers (3)

Araz
Araz

Reputation: 190

I know it has been 4 years but I just wanna post the answer to help others. android:calendarViewShown="false"

<DatePicker
    android:id="@+id/textInputDataPicker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@id/myDatePicker"
    android:layout_marginTop="20dp"
    android:datePickerMode="spinner"
    android:calendarViewShown="false" />

This shows only spinner.

Upvotes: 0

Abuzaid
Abuzaid

Reputation: 945

I use this style to get the spinner Date picker:

<style name="MySpinnerDatePickerStyle" parent="android:Theme.Material.Dialog">
    <item name="android:datePickerStyle">@style/MySpinnerDatePicker</item>
</style>

<style name="MySpinnerDatePicker" parent="android:Widget.Material.DatePicker">
    <item name="android:datePickerMode">spinner</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="android:textColorPrimary">@color/white</item>
</style>

Upvotes: 3

Bruno Ferreira
Bruno Ferreira

Reputation: 1571

Try make dialog with this:

DatePickerDialog dialogDatePicker = new DatePickerDialog(getActivity(), this, year, month, day);
            dialogDatePicker.getDatePicker().setCalendarViewShown(false);
            return dialogDatePicker;

UPDATE:

The setCalendarViewShown(false); is depreated so you need to set datePickerMode as spinner using xml like this:

<DatePicker
    ...
    android:datePickerMode="spinner" />

Upvotes: 1

Related Questions