2016-05-13 3 views
2

Как и в этом один ниже: enter image description hereКаково имя флажка Material Design Checkbox в android (android.R.drawable. {Checkbox})?

мне нужна эта по умолчанию вытяжка, так что я могу программно стилизовать мои автоматически сгенерированные флажки, например:

checkBox.setButtonDrawable(R.drawable.checkbox_style); 

мне нужна этот флажок вытяжка, потому что Samsung GT-I9300 с Android 4.3 (Jellybean) переопределяет этот стиль выше, например, так:

enter image description here

Это мое приложение тема:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 
    <item name="colorPrimary">@color/colorPrimary</item> 
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item> 
    <item name="colorAccent">@color/colorAccent</item> 
    <item name="android:windowBackground">@color/colorPrimary</item> 

    <item name="colorControlNormal">#88FFFFFF</item> 
    <item name="colorControlActivated">#88FFFFFF</item> 
    <item name="colorControlHighlight">@color/colorAccent</item> 
    <item name="android:textColorHint">@android:color/white</item> 

</style> 

Как это называется, android.R.drawable.(...), пожалуйста?

+2

Вы можете сделать с помощью 'appCompatCheckbox Widget' из Материалов. Проверьте это http://www.materialdoc.com/check-box/ –

ответ

7
<style name="Widget.CompoundButton.CheckBox"> 
    <item name="android:background">@android:drawable/btn_check_label_background</item> 
    <item name="android:button">?android:attr/listChoiceIndicatorMultiple</item> 
</style> 
+1

Спасибо. Надеюсь, модераторы не возражат поблагодарить вас так. –

+0

@MonicaLabbao Нет, они не будут. Но если вы найдете мой ответ полезным, вы можете принять это как ответ :) –

+0

Это работает для меня. Я тоже принимаю этот ответ. :) –

2

Если вы хотите использовать по умолчанию, то нет необходимости устанавливать setButtonDrawable. просто используйте App compart (support v7) его работа для Android API 7 для Android API 23 (также анимированная).

добавить это в compile 'com.android.support:appcompat-v7:23.2.0' в build.gradle использовании ** App Compart Theme ** с colorAccent

+0

Samsung GT-I9300 с Android 4.3 (Jellybean) переопределяет эту тему с Jellybean. Я добавляю изображение к своему вопросу. –

+1

показать мне тему приложения в вашем ответе –

5

вы хотите, как это для флажка

checkBox.setButtonDrawable(R.drawable.abc_btn_check_material); 

или вы можете использовать AppCompatCheckBox как это

LinearLayout llParent=(LinearLayout)findViewById(R.id.llParent); 
AppCompatCheckBox appCompatCheckBox = new AppCompatCheckBox(this); 
appCompatCheckBox.setText("agree or not"); 
llParent.addView(appCompatCheckBox); 

и добавить зависимости Ancy для поддержки проектирования Lib build.gradle файл

компиляции '' com.android.support:appcompat-v7:23.3.0

+0

Это работает, но я был предупрежден, что drawable является закрытым, и он не оживляет. Однако, спасибо! :) –

+1

thanx Моника, используйте этот AppCompactCheckBox, он также показывает анимацию, вы можете изменить цвет фона с помощью colorAccent в color.xml для цвет материала –