2017-01-30 1 views
2

Ich habe android checkBox und die Standard-Hintergrund ist transparent, ich weiß sein wollen, so verwende ich Stil:Wie ändert man den Hintergrund von Android CheckBox?

<style name="BrandedCheckBox" parent="AppTheme"> 
    <item name="colorAccent">@color/cyan</item> 
    <item name="colorControlNormal">@color/text_gray</item> 
    <item name="colorControlActivated">@color/cyan</item> 
</style> 

und setzen checkBox Thema:

<CheckBox 
    android:id="@+id/check_payable" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentEnd="true" 
    android:layout_gravity="center" 
    android:theme="@style/BrandedCheckBox"/> 

Aber das Ergebnis ist folgendes: enter image description here Aber ich will es so sein: enter image description here

Kann jemand mir dabei helfen?

+0

Verwenden AppCompatCheckBox statt CheckBox. –

+0

colorControlActivated machen es Wert zu weiß –

+0

http://stackoverflow.com/questions/2151241/android-how-to-change-checkbox-size –

Antwort

0
white color code #FFFFFF in your color.xml 

<style name="BrandedCheckBox" parent="AppTheme"> 
    <item name="colorAccent">@color/cyan</item> 
    <item name="colorControlNormal">@color/text_gray</item> 
    <item name="colorControlActivated">@color/white</item> 
</style> 
5

können Sie Android verwenden: Taste

<CheckBox 
     android:id="@+id/check_box" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:button="@drawable/checkbox_background" /> 

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" 
    android:drawable="@drawable/checkbox_checked" /> 
<item android:state_checked="false" 
    android:drawable="@drawable/checkbox_unchecked" /> 
</selector> 

Ich verwende diese beiden Bilder in ziehbar

checkbox_unchecked

checkbox_checked

+0

Ich versuchte dies, aber ich möchte den Standardwert checkbox_checked beibehalten, was soll ich tun? – Nazila

+0

Sie können android: checked = "true" in Xml – Rudresh

+0

können Sie mehr erklären? Wo in Xml meinen Sie? – Nazila

0

Sie können Code verwenden: android:background="#006C84"

<CheckBox 
    android:id="@+id/cb" 
    android:background="#006C84" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

In der Aktivität können Sie:

chkBox = (CheckBox)findViewById(R.id.cb); 

chkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() 
{ 
    @Override 
    public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) 
    { 
     // TODO Auto-generated method stub 
     if (buttonView.isChecked()) 
     { 
      // When Checked 
      //cb.setBackgroundColor(Color.BLACK); 
      chkBox.setBackgroundColor(Color.parseColor("#FF8D3F")); 
     } 
     else 
     { 
      // When Not Checked 
      // Set Your Default Color. 
      chkBox.setBackgroundColor(Color.parseColor("#006C84")); 
     } 
    } 
}); 
Verwandte Themen