Cambiar el color de fondo del checkbox en android
Tengo que desarrollar una app.here tengo que usar checkbox.here tengo que seleccionar la casilla de verificación significa que el color de fondo predeterminado es yellow.but deseo cambiar el color de fondo con degradado para verificar y unchecked condición. ¿ Cómo puedo cambiar esto. por favor, ayúdame.
Este es mi código actual:
- CheckBox se desactiva en desplazamiento en una vista de lista personalizada
- ListView de Android con casilla de verificación Eliminar / obtener ID de fila
- Cómo agregar una casilla de verificación a un cuadro de diálogo de alerta
- Android obtiene texto de todas las casillas marcadas en listView
- ¿Cómo puedo distinguir si Switch, Checkbox Value es cambiado por el usuario o programáticamente (incluyendo por retención)?
<CheckBox android:id="@+id/rempasswordcheckbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/passwordview" android:layout_y="200dp" android:paddingLeft="45dp" android:text="Remember Password!" android:textColor="#1d2328" />
- Android: Problemas con ListViews y CheckBoxes
- Puede cambiar el tipo de fuente de un Edittext, un botón de radio y un CheckBox en Android
- Cuándo usar CheckBox y cuando cambie
- Fila listView personalizada con casilla de verificación y marcas de verificación de ahorros en la rotación
- Android Caja de selección Grupo
- El listview personalizado con una sola casilla de verificación se selecciona uno a la vez
- Usando la casilla de verificación para filtrar contactos y obtener el número de teléfono
- Android Espresso - Haga clic en la casilla de verificación si no está marcada
Si te interesa cambiar el color de fondo de la casilla de verificación (botón), usa
mcheckbox.setButtonDrawable(R.drawable.someotherbackground);
Donde someotherbackground es una imagen en la carpeta dibujable a qué fondo desea que cambie su casilla de verificación
Prueba lo siguiente
mcheckbox.setOnCheckedChangeListener(new OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { System.out.println("checked" + isChecked); mcheckbox.setButtonDrawable(R.drawable.imageWhenActive); System.out.println("app constant is set as "+isChecked); } else { mcheckbox.setButtonDrawable(R.drawable.imageWheninactive); System.out.println("app constant is set as "+isChecked); } } });
Res / drawable / checkbox_background.xml:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_checked="true"> <shape> <gradient android:startColor="#FFFFFF" android:endColor="#000000" android:angle="-90"/> </shape> </item> <item> <shape> <gradient android:startColor="#000000" android:endColor="#FFFFFF" android:angle="-90"/> </shape> </item> </selector>
En su diseño:
<CheckBox ... android:button="@drawable/checkbox_background" />
Si desea utilizar los elementos estirables existentes:
<?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/checked_drawable" /> <item android:drawable="@drawable/unchecked_drawable" /> </selector>
Uso del código.
checkBox.setBackgroundColor(Color.BLUE);
Código
CheckBox cb = (CheckBox) findViewById(R.id.CheckBox01); cb.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) { // TODO Auto-generated method stub if (buttonView.isChecked()) { //cb.setBackgroundColor(Color.BLUE); cb.setBackgroundColor(Color.parseColor("#FFFFFF")); } else { // Not Checked // Set Your Default Color. } } });
Prueba este código
public class MainActivity extends Activity { CheckBox box; boolean flag=false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); box=(CheckBox)findViewById(R.id.box); box.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub if(flag){ GradientDrawable d=new GradientDrawable(); d.setColor(Color.RED); box.setBackgroundDrawable(d); } else{ GradientDrawable d=new GradientDrawable(); d.setColor(Color.GREEN); box.setBackgroundDrawable(d); } flag=!flag; } }); }
}
Utilice el siguiente código en su casilla de verificación xml:
<CheckBox android:id="@+id/rempasswordcheckbox" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/passwordview" android:background="#0000FF" android:layout_y="200dp" android:paddingLeft="45dp" android:text="Remember Password!" android:textColor="#1d2328" />
Cambiar el colorAccent del tema
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar"> <item name="colorAccent">@color/orange</item> ... </style>
Prueba esto:
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape> <gradient android:startColor="#FF3300" android:centerColor="#FF3300" android:endColor="#FFFFFFFF" android:angle="270" /> </shape> </item> </selector>
- Android: ¿Cómo se accede a una matriz de cadenas de strings.xml en una clase personalizada?
- Android 3 – Añadir un fragmento a un LinearLayout: fill_parent no funciona