Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cómo cambiar el color de un CheckBox?

¿Cómo puedo cambiar el color predeterminado de CheckBox en Android?
De forma predeterminada, el color CheckBox es verde y quiero cambiar este color.
Si no es posible por favor dime cómo hacer un CheckBox personalizado?

  • Android Studio 0.5.2 Gradle Refresh Project falló
  • La respuesta HTTPUrlConnection de Android devuelve la basura
  • Android cómo dibujar un mapa de bits sobre lienzo semi transparente
  • Android ClickableSpan obtener texto onClick ()
  • Mostrar el estado del último elemento de la lista en un ListView con ViewHolder
  • La barra de herramientas se expande deslizando
  • ¿Cómo hacer que EditText insinúe no envolver?
  • Recurso para descargar temas / estilos de aplicación de Android?
  • Cómo configurar varias actividades de los padres para usar el botón de retroceso de Android
  • ViewPager con indicador sin la biblioteca de soporte de Android
  • Pocket Sphinx en Android
  • Evitar que ProgressDialog sea rechazado cuando hago clic en el botón de búsqueda (Android)
  • 14 Solutions collect form web for “Cómo cambiar el color de un CheckBox?”

    Puede cambiar CheckBox s drawable usando android:button="@drawable/your_check_drawable" atributo.

    Puede colorear directamente en el xml. Utilice buttonTint para el cuadro: (a partir del nivel 23 de API)

     <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:buttonTint="@color/CHECK_COLOR" /> 

    También puede hacerlo utilizando appCompatCheckbox v7 para las API más antiguas:

     <android.support.v7.widget.AppCompatCheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" app:buttonTint="@color/COLOR_HERE" /> 

    Usted puede fijar el tema androide de la casilla de verificación para conseguir el color que usted quiere en su styles.xml agregan:

     <style name="checkBoxStyle" parent="Base.Theme.AppCompat"> <item name="colorAccent">CHECKEDHIGHLIGHTCOLOR</item> <item name="android:textColorSecondary">UNCHECKEDCOLOR</item> </style> 

    Entonces en su archivo de disposición:

     <CheckBox android:theme="@style/checkBoxStyle" android:id="@+id/chooseItemCheckBox" android:layout_width="wrap_content" android:layout_height="wrap_content"/> 

    A diferencia de usar android:buttonTint="@color/CHECK_COLOR" este método funciona bajo Api 23

    Versión programática:

     int states[][] = {{android.R.attr.state_checked}, {}}; int colors[] = {color_for_state_checked, color_for_state_normal} CompoundButtonCompat.setButtonTintList(checkbox, new ColorStateList(states, colors)); 
     <CheckBox android:id="@+id/chk_remember_signup" android:layout_width="wrap_content" android:layout_height="wrap_content" android:buttonTint="@android:color/white" android:text="@string/hint_chk_remember_me" /> 

    Agregue esta línea en su archivo styles.xml :

     <style> <item name="android:colorAccent">@android:color/holo_green_dark</item> </style> 

    Yo sugeriría que usar el enfoque de estilo en android como la forma de configurar las vistas integradas de Android, añadir un nuevo estilo en su proyecto:

     <style name="yourStyle" parent="Base.Theme.AppCompat"> <item name="colorAccent">your_color</item> <!-- for uncheck state --> <item name="android:textColorSecondary">your color</item> <!-- for check state --> </style> 

    Y añadir asignar este estilo al tema de la casilla de verificación: android: theme = "@ style / youStyle"

    espero que esto ayude.

    Me enfrentó el mismo problema, tengo una solución utilizando técnicas por debajo. Copie el btn_check.xml de android-sdk/platforms/android-#(version)/data/res/drawable a la carpeta android-sdk/platforms/android-#(version)/data/res/drawable de su proyecto y cambie los estados de imagen 'on' y 'off' a sus imágenes personalizadas.
    Entonces su xml sólo necesitará android:button="@drawable/btn_check"

     <CheckBox android:button="@drawable/btn_check" android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" /> 

    Si desea utilizar diferentes iconos predeterminados de Android, puede utilizar:

     android:button="@android:drawable/..." 

    Usted puede crear su propio xml en drawable y utilizar esto como android: background = "@ drawable / your_xml"

    En que se puede dar esquina frontera todo

     <item> <shape> <gradient android:endColor="#fff" android:startColor="#fff"/> <corners android:radius="2dp"/> <stroke android:width="15dp" android:color="#0013669e"/> </shape> </item> 

    Puede cambiar el color de fondo del <CheckBox> <LinearLayout> dentro de un <LinearLayout> . A continuación, cambie el color de fondo de <LinearLayout> al color que desee.

    Si va a utilizar los iconos de Android, como se describe anteriormente.

     android:button="@android:drawable/..." 

    .. es una buena opción, pero para que esto funcione – he encontrado que es necesario agregar la lógica de conmutación para mostrar / ocultar la marca de verificación, como este:

      checkBoxShowPwd.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { // checkbox status is changed from uncheck to checked. public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { int btnDrawable = android.R.drawable.checkbox_off_background; if (isChecked) { btnDrawable = android.R.drawable.checkbox_on_background; } checkBoxShowPwd.setButtonDrawable(btnDrawable); } }); 

    Crear un Drawable resource file xml bajo res->drawable y nombrarlo, por ejemplo, checkbox_custom_01.xml

     <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/checkbox_custom_01_checked_white_green_32" /> <item android:state_checked="false" android:drawable="@drawable/checkbox_custom_01_unchecked_gray_32" /> </selector> 

    Sube tus archivos de imagen de checkbox personalizados (recomiendo png) a tu carpeta res->drawable .

    Luego vaya en su archivo de diseño y cambie su casilla de verificación a

     <CheckBox android:id="@+id/checkBox1" android:button="@drawable/checkbox_custom_01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:focusable="false" android:focusableInTouchMode="false" android:text="CheckBox" android:textSize="32dip"/> 

    Puede personalizar cualquier cosa, siempre y cuando android:button apunta al archivo XML correcto que creó antes.

    NOTA PARA NOVEDADES: aunque no es obligatorio, sin embargo, es una buena práctica nombrar su casilla con un identificador único en todo el árbol de diseño completo.

    Puede utilizar las dos propiedades siguientes en "colors.xml"

     <color name="colorControlNormal">#eeeeee</color> <color name="colorControlActivated">#eeeeee</color> 

    ColorControlNormal es para la vista normal de la casilla de verificación, y colorControlActivated es para cuando la casilla está marcada.

    Usted debe intentar debajo del código. Está funcionando para mí.

     <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/checked" android:state_checked="true"> <color android:color="@color/yello" /> </item> <!-- checked --> <item android:drawable="@drawable/unchecked" android:state_checked="false"> <color android:color="@color/black"></color> </item> <!-- unchecked --> <item android:drawable="@drawable/checked" android:state_focused="true"> <color android:color="@color/yello"></color> </item> <!-- on focus --> <item android:drawable="@drawable/unchecked"> <color android:color="@color/black"></color> </item> <!-- default --> </selector> 

    Y CheckBox

     <CheckBox Button="@style/currentcy_check_box_style" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="20dp" android:text="@string/step_one_currency_aud" /> 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.