7

El tamaño de texto predeterminado en datepicker es demasiado grande para mi aplicación. He visto una forma sugerida de cambiarlo here, pero pescar alrededor de las textviews anidadas dentro de la clase datepicker parece torpe y propenso a errores.¿Cómo cambiar textizesize en datepicker?

¿Existe una forma mejor/más limpia de hacerlo?

Respuesta

1

utilizar por debajo de código

DatePicker picker = (DatePicker)findViewById(R.id.dp_date); 
    ViewGroup childpicker 

    = (ViewGroup) 
    findViewById(Resources.getSystem().getIdentifier("month" /*rest is: 
    day, year*/, "id", "android")); 

    EditText textview = (EditText) 
    picker.findViewById(Resources.getSystem().getIdentifier("timepicker_input", 
    "id", "android")); 
    textview.setTextSize(30); 
    textview.setTextColor(Color.GREEN); 
1

utilizar por debajo de código:

ViewGroup childpicker = (ViewGroup)datePicker.findViewById(Resources.getSystem().getIdentifier("month", "id", "android")); 

EditText mornthEt = (EditText)childpicker.getChildAt(1);// month widget 

//change textsize and textcolor for mornthEt 

mornthEt.setTextSize(30); 

mornthEt.setTextColor(Color.GREEN); 
+1

para Android 4.1 +, 1- "getChildAt (0)" no funcionó para mí "getChildAt (1)", 2- tamaño del texto cambia de nuevo al girar hacia arriba o hacia abajo, esto es no ayuda en absoluto –

+1

Le sugiero encarecidamente que no use esta solución. el 'getChildAt (1)' como puede ladrillo cuando el orden de las vistas cambia dentro de la biblioteca. puede funcionar en una versión y romperse con diferentes implementaciones –

3

La forma más fácil de cambiar el tamaño de fuente del selector de fecha/TimePicker/numberpicker es la personalización del tema.

En el archivo de estilos, establezca el tamaño de fuente predeterminado de la siguiente manera.

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="android:textSize">22sp</item> 
</style> 
+0

funciona perfectamente bien! Gracias por la solución rápida. –

0

Yo he usado following CustomDateAndTimePicker. Esto es muy fácil de personalizar. En eso las diferentes opciones como la fecha, el mes, el año, las horas y los minutos tienen su propio selector de Números. Para que pueda personalizar el tamaño del texto, el color y otros estilos también. puede agregar su propio selector de números para su uso personalizado

0

El código de Sean funciona. pero está cambiando el tamaño de fuente para todos los otros componentes también (textViews, botones, etc.) Así que aquí está la solución.

Cree un estilo diferente para el selector de tiempo y úselo en el tema del selector de tiempo.

<style name="my_time_picker_style"> 
    <item name="android:textSize">24sp</item> 
</style> 

y utilizarlo en su TimePicker

android:theme="@style/my_time_picker_style" 

Mira el vídeo, cómo lo hice https://youtu.be/JMJ2ujhk9c0

1

enfoque de Sean hecho algunos fallos en la interfaz de usuario del selector de sí mismo en los casos hay una serie de los recolectores y creo que no es perfecto aplicar tamaño de texto a todos los componentes debajo del selector. A continuación se muestra lo que he usado y funciona perfectamente sin fallas en la interfaz de usuario.

<style name="PickerTheme" parent="Theme.AppCompat.NoActionBar"> 
    <item name="android:editTextStyle">@style/PickerEditText</item> 
</style> 

<style name="PickerEditText" parent="ThemeOverlay.AppCompat.Dark"> 
    <item name="android:textSize">24sp</item> 
</style> 
Cuestiones relacionadas