Я создаю диалог с элементами с несколькими вариантами выбора (флажки):
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMultiChoiceItems(arrayResource, selectedItems, new DialogInterface.OnMultiChoiceClickListener() {
// ...
});
AlertDialog dialog = builder.create();
dialog.show();
И у меня есть собственный стиль для флажков:
<style name="CustomCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/btn_check</item>
<item name="android:textColor">@android:color/holo_purple</item>
</style>
Он отлично работает при применении к отдельным флажкам в макете, установив style="@style/CustomCheckBox"
.
Но как я могу применить этот стиль к созданному диалоговому окну? Или, альтернативно, для всей темы...
Если это так важно - я использую minSdkVersion=14
и targetSdkVersion=19
.
Update:
Теперь, согласно ответам MattMatt, я применяю собственный стиль флажка для всей темы, а также настраивает собственный стиль для диалогов:
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:checkboxStyle">@style/CustomCheckBox</item>
<item name="android:dialogTheme">@style/CustomDialog</item>
<item name="android:alertDialogTheme">@style/CustomDialog</item>
</style>
<style name="CustomCheckBox" parent="@android:style/Widget.CompoundButton.CheckBox">
<item name="android:button">@drawable/btn_check</item>
<item name="android:checkMark">@drawable/btn_check</item>
</style>
<style name="CustomDialog" parent="@android:style/Theme.Holo.Light.Dialog">
<item name="android:checkboxStyle">@style/CustomCheckBox</item>
<item name="android:background">#aaf</item>
</style>
Теперь любой флажок, добавленный в макет, получает пользовательский стиль, и я могу изменить фон диалога, но флажки в диалоговом окне никак не влияют...