Aplicación de un tema a los botones de radio dinámicos en Android
Tengo un tema en mi uso que defina el textappearance del defecto y el estilo del botón.
<style name="AppTheme" parent="@android:style/Theme.Light.NoTitleBar.Fullscreen"> <item name="android:textAppearance">@style/TextAppearance.Medium</item> <item name="android:textAppearanceLarge">@style/TextAppearance.Large</item> <item name="android:textAppearanceMedium">@style/TextAppearance.Small</item> <item name="android:textAppearanceSmall">@style/TextAppearance.Medium</item> <item name="android:textColorPrimary">#000000</item> <item name="android:textColorSecondary">#000000</item> <item name="android:textColorTertiary">#000000</item> <item name="android:buttonStyle">@style/Button</item> </style> <style name="TextAppearance" parent="@android:style/TextAppearance"> <item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textColorHint">?android:attr/textColorHint</item> </style> <style name="TextAppearance.Large"> <item name="android:textColor">?android:attr/textColorPrimary</item> <item name="android:textSize">32dp</item> <item name="android:textStyle">bold</item> </style> <style name="TextAppearance.Medium"> <item name="android:textColor">?android:attr/textColorSecondary</item> <item name="android:textSize">22dp</item> </style> <style name="TextAppearance.Small"> <item name="android:textColor">?android:attr/textColorTertiary</item> <item name="android:textSize">18dp</item> </style> <style name="Button" parent="@android:style/Widget.Button"> <item name="android:textColor">?android:attr/textColorSecondary</item> <item name="android:textColorHint">?android:attr/textColorHint</item> <item name="android:textStyle">normal</item> <item name="android:textAppearance">?android:attr/textAppearanceSmall</item> </style>
Cuando creo un RadioButton usando
- ¿Es posible agregar una propiedad personalizada a un estilo en un recurso android?
- Constantes de color del sistema Android
- Android: estilo de menú de desbordamiento en la barra de acción
- Cambiar el color azul por defecto en el tema de Android holo a naranja (o cualquier otra cosa)
- Cómo ver el estilo predeterminado de android simple_spinner_dropdown_item
RadioButton radioButton = new RadioButton(this, null, R.style.AppTheme);
Se crea el RadioButton y el texto se diseña correctamente, pero el marcador marcado desaparece. ¿Por qué?
Tengo el Radiobutton en un Buttongroup, donde agrego dinámicamente los botones. Cuando agrego un botón a través del diseño, el marcador se muestra correctamente. Pero los botones agregados dinámicamente no.
- Estilos de herencia múltiple
- Cómo utilizar textColorPrimary como color de fondo en un estilo?
- ¿Cómo usar el estilo de notificación predeterminado?
- Cómo cambiar el cuadro de diálogo de alerta divider color android
- Android: los márgenes especificados en estilo personalizado no tienen efecto
- Cómo cambiar el estilo de EditText por defecto desactivado?
- Cómo modificar el estilo de Android "fuerza cerrar" ventana?
- Cómo cambiar el estilo de un ImageButton de forma programática
La solución fue usar el constructor RadioButton (este).
Todos los estilos establecidos con el defStyle-Constructor fueron ignorados y el marcador fue eliminado. No estoy seguro si esto es un error o no está documentado.
En realidad no lo necesito ya que los otros estilos de mi styles.xml se aplican al botón automáticamente ahora, pero si alguien está interesado:
Añadiendo
<item name="android:radioButtonStyle">@style/MyRadioButton</item>
A mi "AppTheme" -Style y
<style name="MyRadioButton" parent="@android:style/Widget.CompoundButton.RadioButton"> <item name="android:textSize">5dp</item> </style>
Al style.xml hace que todos mis radiobotones muestren el marcador Y estilizan el texto ( sin configurarlo en el constructor).
- Inicializar variables globales a cero en Android NDK
- ¿Cómo puedo especificar que no se muestre una acción de notificación en Android Wear?