studio solo seleccionar personalizar ejemplo codigo checklist android android-checkbox

android - solo - Cómo cambiar el color de un CheckBox?



radio button android (16)

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

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

¿Cómo cambio el color predeterminado de CheckBox en Android?
Por defecto, el color CheckBox es verde, y quiero cambiar este color.
Si no es posible, dígame cómo hacer un CheckBox personalizado.


Deberías probar el siguiente 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" />


Hola, este es el código de tema para Dark Theme y Light Theme.

<attr name="buttonsearch_picture" format="reference"/> <attr name="buttonrefresh_picture" format="reference"/> <style name="Theme.Light" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@color/white</item> <item name="android:windowActionBar">false</item> <item name="android:textColorPrimary">@color/black</item> <item name="android:textColorSecondary">@color/black</item> <item name="android:textColor">@color/material_gray_800</item> <item name="actionOverflowButtonStyle">@style/LightOverflowButtonStyle</item> <item name="buttonsearch_picture">@drawable/ic_search_black</item> <item name="buttonrefresh_picture">@drawable/ic_refresh_black</item> </style> <style name="Theme.Dark" parent="Theme.AppCompat.NoActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowBackground">@color/white</item> <item name="android:windowActionBar">false</item> <item name="android:textColorPrimary">@color/white</item> <item name="android:textColorSecondary">@color/material_gray_500</item> <item name="android:textColor">@color/material_gray_800</item> <item name="actionOverflowButtonStyle">@style/DarkOverflowButtonStyle</item> <item name="buttonsearch_picture">@drawable/ic_search_white</item> <item name="buttonrefresh_picture">@drawable/ic_refresh_white</item> <item name="android:colorBackground">#ffffff</item> <item name="android:alertDialogTheme">@style/LightDialogTheme</item> <item name="android:alertDialogStyle">@style/LightDialogTheme</item> <!-- <item name="android:textViewStyle">@style/AppTheme.Widget.TextView</item>--> <item name="android:popupMenuStyle">@style/PopupMenu</item> </style>

Si desea cambiar el color de la casilla de verificación, el atributo "colorAccent" se usará para el estado verificado y "android: textColorSecondary" se usará para desmarcar el estado.

"actionOverflowButtonStyle" se usará para cambiar el color del icono de desbordamiento en la barra de acción.

El atributo "buttonsearch_picture" se usará para cambiar el color del tinte del botón de acción en la barra de acción. Este es un atributo personalizado en style.xml

<attr name="buttonsearch_picture" format="reference"/>

Lo mismo ocurre con el botón de actualización que estoy usando en mi aplicación.

El atributo "android: popupMenuStyle" se usa para obtener el estilo de menú emergente de tema claro en el tema oscuro.

<style name="PopupMenu" parent="Theme.AppCompat.Light.NoActionBar"> </style>

Y este es el código de la barra de herramientas que estoy usando en mi aplicación Rocks Player.

<android.support.v7.widget.Toolbar android:id="@+id/toolbar" app:contentInsetStart="0dp" android:title="Rocks Player" android:layout_width="match_parent" android:elevation="4dp" android:layout_height="48dp" app:layout_scrollFlags="scroll|enterAlways" android:minHeight="48dp" app:titleTextAppearance="@style/Toolbar.TitleText" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" android:background="?attr/colorPrimary" > </android.support.v7.widget.Toolbar>

Temas: -

<style name="AppTheme0" parent="Theme.Light"> <item name="colorPrimary">#ffffff</item> <item name="colorPrimaryDark">#cccccc</item> <item name="colorAccent">#0294ff</item> </style> <style name="AppTheme1" parent="Theme.Dark"> <item name="colorPrimary">#4161b2</item> <item name="colorPrimaryDark">#4161b2</item> <item name="colorAccent">#4161b2</item> </style>


Me enfrenté al mismo problema, obtuve una solución usando la siguiente técnica. Copie el btn_check.xml de android-sdk/platforms/android-#(version)/data/res/drawable btn_check.xml la btn_check.xml de su proyecto y cambie los estados de imagen "on" y "off" a sus imágenes personalizadas.
Entonces tu xml solo 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 usar:

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


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


Puede cambiar el color de fondo de <CheckBox> incrustándolo dentro de un <LinearLayout> . Luego, cambie el color de fondo de <LinearLayout> al color que desee.


Puede usar las siguientes dos propiedades 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 de verificación está marcada.


Puedes colorear directamente en el xml. Use buttonTint para el cuadro: (a partir del nivel API 23)

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

También puedes hacer esto usando appCompatCheckbox v7 para APIs anteriores:

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


Si vas a utilizar los íconos de Android, como se describe arriba ...

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

.. es una buena opción, pero para que esto funcione, he encontrado que necesitas agregar lógica de alternar para mostrar / ocultar la marca de verificación, así:

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); } });


Sugeriría usar el enfoque de estilo en Android como la forma de configurar las vistas integradas de Android, agregar nuevo estilo en tu 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ñada asignar este estilo al tema de la casilla de verificación: android: theme = "@ style / youStyle"

espero que esto ayude.


Use el selector de botones y colores

<android.support.v7.widget.AppCompatCheckBox android:id="@+id/check" android:layout_width="wrap_content" android:layout_height="wrap_content" app:buttonTint="@color/checkbox_filter_tint"/>

res / colors / checkbox_filter_tint.xml

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


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));


crear un Drawable resource file xml bajo res->drawable Drawable resource file un nombre, 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>

Cargue sus archivos de imagen de casilla de verificación personalizados (recomiendo png) a su res->drawable carpeta res->drawable .

A continuación, vaya a 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 que el android:button apunte al archivo XML correcto que creó anteriormente.

NOTA PARA RECIÉN NACIDOS: aunque no es obligatorio, es una buena práctica nombrar su casilla de verificación con una identificación única en todo el árbol de diseño.


puede establecer el tema de Android de la casilla de verificación para obtener el color que desee en su styles.xml add:

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

luego en tu archivo de diseño:

<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


puedes crear tu propio xml en drawable y usarlo como android: background = "@ drawable / your_xml"

en eso puedes darle a la esquina todo

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


<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" />