quiero desactivar la opción de selección de día en el selector de fecha sdk de Android. cualquier configuración xml fácil sería la mejor¿Cómo se muestra el selector de fecha para Android con solo campos de mes y año?
Respuesta
Acabo de lanzar un nuevo marco selector de fecha que le permite crear selector de fecha personalizado. También proporcioné ejemplos de selectores de fecha como el que está buscando. Espero que te sirva.
el código se puede encontrar aquí: https://github.com/bendemboski/DateSlider
ACTUALIZACIÓN 06/2014: Esta biblioteca fue desarrollado 2010 y ha dejado de mantenerse desde 2011. Por lo tanto, es más probable fuera de fecha por ahora.
EDITAR: según el comentario a continuación, ya no seguiría esta respuesta.
No creo que pueda hacer eso con el selector de fecha predeterminado. Tendrás que crearlo a partir de los 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 biblioteca como esta genial rueda de estilo iPhone? http://code.google.com/p/android-wheel/ ¡No lo he usado todavía, pero pienso hacerlo!
Esto no fue un mal consejo en enero de 2011, pero si estás leyendo esto ahora, te recomendaría no usar una biblioteca que imite a iOS. A Google no le gusta eso: http://developer.android.com/design/patterns/pure-android.html – theelfismike
A los usuarios tampoco les gusta eso – Roel
Es posible hackear la instancia de DatePicker mediante reflexión. De esta manera, usted es capaz de acceder a la instancia NumberPicker que representan el día en el Selector de fechas:
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());
}
Esto funcionó para mí. Tenga en cuenta que tuve que cambiar mDayPicker a mDaySpinner. No estoy seguro de qué nivel de API presentó este cambio, pero ahora estoy compilando para Android 4.0.3. – Setzer22
Esto puede estar roto en Android 5.0 y más alto porque el DatePicker ya no usa esos selectores de números. – Roel
En Android 6, los campos son mDelegate, LOG_TAG, MODE_CALENDAR, MODE_SPINNER. La solución no funciona para mí. –
Esto funciona bien en la versión 2.2. Pero el título del diálogo no se 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);
}
}
}
}
Usted puede utilizar el widget https://github.com/SimonVT/android-datepicker para la compatibilidad portado y hacer el día selector 'ido'
<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"
/>
Hablando de reflexión que esto funciona en Android 4.4.2 SDK
"mDaySpinner"
vez
"mDayPicker"
Creo que es la mejor solución
datePicker.findViewById(Resources.getSystem().getIdentifier("day", "id", "android")).setVisibility(View.GONE);
- 1. Crear campo de fecha con solo mes y año - Drupal
- 2. Crear una fecha solo con mes y día, sin año
- 3. Crear fecha de día, mes, año campos en MySQL
- 4. Formato de fecha y hora para un mes y año
- 5. ¿Cómo puedo hacer que un selector de fecha y hora contenga siempre el último día del mes y solo el mes y el año?
- 6. En una base de datos, ¿usaría un campo de fecha o campos de año y mes si solo necesita año y mes?
- 7. ¿Cómo puedo agrupar por mes y año cuando solo tengo un campo de fecha y hora?
- 8. Oracle Sql obtiene solo mes y año en el tipo de datos de fecha
- 9. buscando un selector de mes/año para .NET winform
- 10. jquery selector de fecha pero día mes y año en listas desplegables separadas
- 11. fecha Dividir en diferentes columnas de año, mes y día
- 12. ¿Cómo generar una fecha de solo mes y año en Java?
- 13. UIDatePicker seleccione Mes y año
- 14. ¿Almacena solo mes y año en SQL Server 2008?
- 15. cómo comparar mes-año con DateParse
- 16. Hallazgo de la semana, el mes y el año
- 17. Cómo ser seleccionado día/mes y año de jquery datepicker
- 18. Django: Grupo por fecha (día, mes, año)
- 19. VB.NET Obtener solo el año a partir de la fecha
- 20. Ordenando por fecha descendente - mes, día y año
- 21. Obtener detalles de la fecha (día, mes, año) en GWT
- 22. Ramita: para cada mes del año
- 23. ¿Solo se muestra el año en django admin, un YearField en lugar de DateField?
- 24. Mostrar solo la fecha y no hay tiempo en Android
- 25. Cómo determinar día, mes y año como int en iOS
- 26. ¿Es posible que un selector de fechas presente el nombre año/mes/día + día?
- 27. ¿Cómo formatear la fecha de Android sin año y mostrar el mes y el día de acuerdo con la configuración local?
- 28. Jquery datepicker - solo día y mes
- 29. ¿Cómo se analiza estrictamente una fecha con solo un año y un número de semana cuando el primer día de esta semana es el año anterior?
- 30. tipo de datos mysql para almacenar mes y año solamente
¿Has probado algo? ¿Has buscado una solución usando un motor de búsqueda? – Patrick
lo hice de hecho y encontré que la gente decía que era imposible, lo cual no es cierto, pero no tengo una idea clara sobre cómo seguir adelante con esto, pero es posible. gracias – carbonr