2017-01-30 9 views
2

У меня есть андроид CheckBox и фон по умолчанию является прозрачным, я хочу, чтобы быть белыми, поэтому я использую стиль:Как изменить фон 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> 

и установить CheckBox тему:

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

Но результат таков: enter image description here Но я хочу, чтобы это было так: enter image description here

Может ли кто-нибудь помочь мне в этом?

+0

Используйте AppCompatCheckBox вместо CheckBox. –

+0

colorControlActivated сделать его значением для белого –

+0

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

ответ

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

вы можете использовать Android: кнопка

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

Я использую эти два изображения в вытяжке

checkbox_unchecked

checkbox_checked

+0

Я пробовал это, но я хочу, чтобы по умолчанию checkbox_checked, что мне делать? – Nazila

+0

Вы можете использовать android: checked = "true" в Xml – Rudresh

+0

можете ли вы объяснить больше? Где в xml вы имеете в виду? – Nazila

0

Вы можете использовать код: android:background="#006C84"

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

В своей деятельности вы можете использовать:

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")); 
     } 
    } 
}); 
Смежные вопросы