¿Cómo mostrar selector de fecha para android con solo mes y año campos?

Quiero desactivar la opción de selección de día en el selector de fecha android sdk. Cualquier configuración xml fácil sería la mejor

Acabo de publicar un nuevo marco de recolección de fecha que le permite crear selector de fecha personalizada. También he proporcionado algunos selectores de fecha de ejemplo como el que está buscando. Espero que funcione para usted.

El código se puede encontrar aquí: https://github.com/bendemboski/DateSlider

UPDATE 06/2014: Esta biblioteca fue desarrollada en 2010 y no ha sido mantenida desde 2011. Por lo tanto, es más probable que ya esté obsoleto .

Es posible hackear la instancia de DatePicker usando la reflexión. De esta manera, podrá acceder a la instancia NumberPicker que representa el día en el DatePicker:

datePicker = (DatePicker) findViewById(R.id.expiration_date); try { Field f[] = datePicker.getClass().getDeclaredFields(); for (Field field : f) { if (field.getName().equals("mDayPicker")) { field.setAccessible(true); Object dayPicker = new Object(); dayPicker = field.get(datePicker); ((View) dayPicker).setVisibility(View.GONE); } } } catch (SecurityException e) { Log.d("ERROR", e.getMessage()); } catch (IllegalArgumentException e) { Log.d("ERROR", e.getMessage()); } catch (IllegalAccessException e) { Log.d("ERROR", e.getMessage()); } 

Hablando de reflexión esto funciona en Android 4.4.2 SDK

 "mDaySpinner" 

en lugar

 "mDayPicker" 

Creo que es la mejor solución

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

EDIT: según el comentario a continuación, no seguiría esta respuesta más.

No creo que pueda hacer eso con el selector de fecha predeterminado. Tendrás que crearlo a partir de elementos básicos de la interfaz de usuario de Android. Pero en lugar de ir a ese problema, ¿por qué no utilizar un mejor elemento de la biblioteca como esta rueda de gran aspecto iPhone-esque: http://code.google.com/p/android-wheel/ No lo he utilizado todavía, pero ¡Planeo!

Esto funciona bien en la versión 2.2. Pero el título del diálogo no cambia.

 for (Field datePickerDialogField : datePickerDialogFields) { if (datePickerDialogField.getName().equals("mDatePicker")) { datePickerDialogField.setAccessible(true); DatePicker datePicker = (DatePicker) datePickerDialogField.get(datePickerDialog); Field datePickerFields[] = datePickerDialogField.getType().getDeclaredFields(); for (Field datePickerField : datePickerFields) { if ("mDayPicker".equals(datePickerField.getName())) { datePickerField.setAccessible(true); Object dayPicker = new Object(); dayPicker = datePickerField.get(datePicker); ((View) dayPicker).setVisibility(View.GONE); } } } } 

Puede utilizar el widget https://github.com/SimonVT/android-datepicker para la compatibilidad con backports y hacer que el selector de días "desaparezca"

 <net.simonvt.numberpicker.NumberPicker android:id="@+id/day" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="16dip" android:layout_marginRight="16dip" android:focusable="true" android:focusableInTouchMode="true" android:visibility="gone" /> 
  • ¿Cuál es la diferencia entre compileSdkVersion y targetSdkVersion?
  • No hay lista de dispositivos en Android DDMS
  • La aplicación de Android se bloquea después de la versión de actualización de las herramientas de SDK (NoClassDefFound, versión de la herramienta 22)
  • Depuración NDK de Android
  • Android studio 2.3 canary falta 'Launch Standalone SDK Manager' opción en 'SDK Manager'
  • Compilación de error en "Usar el ejemplo de inicio de sesión de Facebook"
  • Permitir sólo la entrada de datos únicos con Android SQLite?
  • Descargar Android SDK de forma programática
  • Mejor NFC SDK para ACR122U y ACR1222L
  • ¿Por qué algunas API de Android no aparecen en la pestaña de destino de AVD Manager?
  • Excepciones de Android NDK y C ++: estado actual?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.