Mostrar selector de fechas con mes y año sólo para lollipop 5.0 en android

Mostrar selector de fecha con el mes y el año sólo para lollipop 5.0 en android, se puede hacer en versiones inferiores, pero ¿cómo puedo hacerlo para android 5.0.

Esto puede hacerse ajustando su DatePicker al modo spinner y obteniendo el Spinner for Day y ocultándolo mediante programación.

Aquí está el XML (dialog_date_picker.xml):

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:padding="8dp" android:layout_height="match_parent"> <DatePicker android:id="@+id/date_picker" android:layout_width="match_parent" android:calendarViewShown="false" android:datePickerMode="spinner" android:layout_weight="4" android:layout_height="0dp" /> <Button android:id="@+id/date_time_set" android:layout_weight="1" android:layout_width="match_parent" android:text="Set" android:layout_height="0dp" /> </LinearLayout> 

Aquí está el código para hacerlo.

 private Calendar mCalendar; ... mCalendar = Calendar.getInstance(); final View dialogView = View.inflate(this, R.layout.dialog_date_picker, null); final AlertDialog alertDialog = new AlertDialog.Builder(this).create(); DatePicker datePicker = (DatePicker) dialogView.findViewById(R.id.date_picker); datePicker.init(mCalendar.get(Calendar.YEAR),mCalendar.get(Calendar.MONTH),mCalendar.get(Calendar.DAY_OF_MONTH),null); LinearLayout ll = (LinearLayout)datePicker.getChildAt(0); LinearLayout ll2 = (LinearLayout)ll.getChildAt(0); ll2.getChildAt(0).setVisibility(View.INVISIBLE); dialogView.findViewById(R.id.date_time_set).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { DatePicker datePicker = (DatePicker) dialogView.findViewById(R.id.date_picker); mCalendar = new GregorianCalendar(datePicker.getYear(), datePicker.getMonth(), datePicker.getDayOfMonth()); alertDialog.dismiss(); } }); 

Esto debería funcionar para todas las versiones de android (api> 11)

 datePicker.findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).setVisibility(View.GONE); 

Escribí un simple, espero que te ayude

 final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); DatePickerDialog dpd = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) { txtDate.setText(dayOfMonth + "-" + (monthOfYear + 1) + "-" + year); } }, mYear, mMonth, mDay); dpd.show(); 
  • Android: textColor del botón deshabilitado en el selector no se muestra?
  • Selector de fecha de Android: deshabilitar fechas de vacaciones y fin de semana
  • Seleccionador de Android / lista similar al selector de fechas de iOS
  • ¿Se puede dibujar con el selector?
  • que muestran la hora actual en TimePicker en android
  • Simple Selector de directorio Android - ¿Cómo?
  • Usando estados personalizados, onCreateDrawableState nunca se llama
  • Cambiar el color del elemento de vista de lista seleccionado
  • Problema al seleccionar el color del selector ListView cuando se pulsa
  • El botón de imagen de 9 parches de Android no está escalado según lo previsto
  • Android: textColor del botón deshabilitado en el selector no se muestra?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.