Agregar botones de radio personalizados en Android

Estoy tratando de obtener efecto de botón de radio para botones regulares en Android

Tengo un botón de radio de Android simple a continuación

enter image description here

El código para esto es ::

activity_main.xml

       

Cómo personalizarlo de la siguiente manera ::

enter image description here

¡ Gracias !

[EDITAR] usando el código de una de las respuestas

enter image description here

Pero el nombre del botón se ve eclipsado por la opción de seleccionar cómo eliminarlo?


{EDITAR} más cambios

Todos los cambios deben por lo menos saber qué botón he seleccionado de entre tres botones de radio … ¿es posible obtener lo siguiente?

enter image description here

Agregue un fondo dibujable que haga referencia a una imagen, o un selector (como a continuación), y haga que el botón sea transparente:

  

Si desea que sus botones de opción tengan un recurso diferente al marcarlos, cree un selector de fondo dibujable:

res / drawable / yourbuttonbackground.xml

       

En el selector anterior, hacemos referencia a dos elementos dibujables, b , así es como los creamos:

res / drawable / a.xml – Estado seleccionado

      

res / drawable / b.xml – Estado regular

      

Más acerca de los objetos arrastrables aquí: http://developer.android.com/guide/topics/resources/drawable-resource.html

Utilice el mismo formato de archivo XML de la respuesta de Evan, pero un archivo dibujable es todo lo que necesita para formatear.

  

Y tu archivo dibujable por separado:

                         

Debe completar el atributo “Botón” de la clase “CompoundButton” con una ruta XML dibujable ( my_checkbox ). En el XML dibujable, debe tener:

        

No olvides reemplazar my_checkbox por tu nombre de archivo de la checkbox dibujable, checkbox_not_checked por tu dibujo PNG que es tu checkbox cuando no está marcada y checkbox marcada con tu imagen cuando está marcada.

Para el tamaño, actualice directamente los parámetros de diseño.

Para ocultar el botón de opción predeterminado, sugiero que se elimine el botón en lugar de hacerlo transparente ya que todos los comentarios visuales se manejan con el fondo dibujable:

 android:button="@null" 

También sería mejor usar estilos ya que hay varios botones de opción:

   

También necesitará dibujar el CustomButtonBackground de Seslyn .

La mejor forma de agregar dibujables personalizados es:

   

La superposición de sombras mediante dibujo personalizado se elimina aquí.

Manera simple intente esto

  1. Cree un nuevo diseño en la carpeta dibujable y asígnele el nombre custom_radiobutton (También puede cambiar el nombre)

           
  2. Use esto en su actividad de diseño

      

El siguiente código es un ejemplo de botón de opción personalizado. sigue los pasos a continuación.

  1. Archivo Xml

                  

    2.añadir el xml personalizado para los botones de opción

    2.1.otro dibujable

    custom_other_button.xml

       

    2.2.female dibujable

    custom_female_button.xml

       

    2.3. macho dibujable

    custom_radio_button.xml

       

    1. Salida: esta es la pantalla de salida

Me doy cuenta de que esta es una respuesta tardía, pero mirando a través de developer.android.com, parece que el botón Toggle sería ideal para su situación.

Imagen del botón Alternar http://developer.android.com/guide/topics/ui/controls/togglebutton.html

Y, por supuesto, puede seguir utilizando las otras sugerencias para tener un fondo dibujable para obtener un aspecto personalizado que desee.

  

Ahora, si quiere ir con su edición final y tiene un efecto de “halo” alrededor de sus botones, puede usar otro selector personalizado para hacer eso.