Quiero cambiar el color del círculo de RadioButton en uno de mis proyectos , no pude entender qué propiedad establecer. El color de fondo que tengo es negro, por lo que se vuelve invisible. Quiero establecer el color del círculo en blanco.
android
android-radiobutton
Amandeep Singh
fuente
fuente
Respuestas:
Más simple, solo configure el botón Color de tinte: (solo funciona en el nivel 21 de la API o superior)
en your values / colors.xml ponga su color en este caso rojizo:
Resultado:
Si desea hacerlo por código (también api 21 y superior):
fuente
control.getDrawable().setColorFilter(getResources().getColor(color), PorterDuff.Mode.SRC_IN);
dóndecontrol
está el control que desea cambiar el tinte ycolor
es un valor entero del color que desea, por ejemploR.color.red
android.R.attr.state_checked
y agregar el color.Actualización: 1. use este en su lugar
2. Luego agregue esta línea en el diseño principal o
Alt + Enter
en Android Studio para agregar automáticamentexmlns:app="http://schemas.android.com/apk/res-auto"
El ejemplo mínimo debería tener este aspecto:
3. En su programa, debe llamar así.
AppCompatRadioButton radioButton = (AppCompatRadioButton) view.findViewById(R.id.rbtn_test);
Básicamente, este tipo de patrón se puede aplicar a todos los tipos de AppCompact, como AppCompatCheckBox, AppCompatButton, etc.
Vieja respuesta:
Para admitir la siguiente API 21 de Android, puede usar AppCompatRadioButton. Luego use el
setSupportButtonTintList
método para cambiar el color. Este es mi fragmento de código para crear un botón de radio.Resultado probado en API 19:
Vea el enlace de referencia de Android para más detalles.
fuente
<android.support.v7.widget.AppCompatRadioButton ../>
setSupportButtonTintList
es un método privado que no está destinado a usar. Los botones de radio se comportarán de manera extraña en ciertas versiones de Android. En cambio, useCompoundButtonCompat.setButtonTintList(rb, colorStateList)
.fuente
Trabajando en API pre 21 y post 21. En tu opinión
styles.xml
:Su
radio button
en xml debería verse así:Ahora todo lo que necesitas hacer es hacer un
radiobutton_drawable.xml
en tudrawable folder
. Esto es lo que necesita poner:Su
radio_unchecked.xml
:Su
radio_checked.xml
:Simplemente reemplace
@color/colorAccent
con el color de su elección.fuente
Tienes que usar este código:
Usando en
app:buttonTint
lugar deandroid:buttonTint
y también enandroid.support.v7.widget.AppCompatRadioButton
lugar deRadiobutton
!fuente
Declare un estilo personalizado en su archivo styles.xml.
Aplique este estilo a su RadioButton a través de Android: atributo de tema.
solo si tu actividad se extiende
AppCompatActivity
fuente
<item name="android:colorControlActivated">@color/pink</item>
para que funcionara para mí. Todavía no estoy seguro de por qué. De lo contrario, esta es una buena respuesta.Por debajo de API 21
Crear estilo personalizado RadioButton style.xml
En el tema de uso de diseño:
Para API 21 y más
Solo usa buttonTint
fuente
La pregunta es antigua, pero creo que mi respuesta ayudará a las personas. Puede cambiar el color del estado sin marcar y marcado del botón de opción utilizando el estilo en xml.
En style.xml
Puede establecer los colores deseados en este estilo.
fuente
Establecer la
buttonTint
propiedad. Por ejemplo,android:buttonTint="#99FF33"
.fuente
Lo hice de esta manera (trabajando en API pre 21 y post 21)
Su botón de radio en xml debería verse así
en radiodraw.xml
tiene que agregar color transparente para dibujar el estado sin marcar; de lo contrario, dibujará un óvalo negro sólido.
fuente
A veces solo necesita anular colorControlNormal de esta manera:
Y obtendrás un botón como este:
colorControlNormal se usa para el estado sin marcar y colorAccent para marcado.
fuente
Hay un atributo xml para ello:
fuente
"Make sure your min API is higher then 21 or this won't work"
eso es falso. Estoy apuntando a API 17 con AndroidX y esto es lo único que funcionó para míPara aquellos que quieran cambiar los estados deshabilitados, marcados y habilitados, pueden seguir los siguientes pasos:
luego, en la carpeta de resolución de color, cree un archivo llamado "radio_button_color.xml":
fuente
Todos los botones cambiarán de color, el cuadro circular y el cheque central.
fuente
RadioButton por defecto toma el color de colorAccent en el archivo res / values / colors.xml. Entonces vaya a ese archivo y cambie el valor de
<color name="colorAccent">#3F51B5</color>
al color que quieras
fuente
La forma más fácil es cambiar el
colourAccent
color,values->colours.xml
pero tenga en cuenta que también cambiará otras cosas, como editar el color del cursor de texto, etc.
< color name="colorAccent">#75aeff</color >
fuente
Si desea establecer un color diferente para el botón de radio cliqueado y no cliqueado, simplemente use:
fuente
solo use el
android:buttonTint="@color/colorPrimary"
atributo en la etiqueta, espero que ayudefuente
Tuve este problema Si su aplicación tiene un fondo negro y tiene muchos RadioButtons que son invisibles debido al fondo, es complicado editar el Android: buttonTint de cada uno, la mejor solución es cambiar el tema principal en su archivo styles.xml
Cambié
a
Entonces, los círculos de RadioButtons se convirtieron en un tono gris más claro y ahora son visibles incluso con un fondo negro.
Este es mi archivo style.xml:
fuente
@ jh314 es correcto. En AndroidManifest.xml,
En style.xml
el nombre del elemento debe ser colorAccent, decide el color predeterminado de los widgets de la aplicación.
Pero si desea cambiar el color en el código, tal vez la respuesta de @aknay sea correcta.
fuente