Quando cerco di applicare un tema standard per AlertDialog
Tema AlertDialog: come modificare il colore del testo dell'articolo?
AlertDialog.Builder builder = new AlertDialog.Builder(MyClass.this, AlertDialog.THEME_DEVICE_DEFAULT_LIGHT);
builder.setTitle("Change");
String[] info= this.getResources().getStringArray(R.array.info);
ArrayAdapter arrayAdapter = new ArrayAdapter(this, android.R.layout.select_dialog_singlechoice);
arrayAdapter.addAll(info);
builder.setSingleChoiceItems(arrayAdapter, ....
Risultato:
La nota è che non ho alcun problema con builder.setItems(...)
sin dal suo colore del testo è Black
mentre il tema applicato con builder.setSingleChoiceItems(...)
ha un colore di testo bianco.
Qualsiasi correzione rapida? O un modo per creare un tema personalizzato basato su AlertDialog.THEME_DEVICE_DEFAULT_LIGHT
?
mio stile personalizzato non funziona come previsto:
<style name="AlertDialogCustomTheme" android:parent="android:Theme.Dialog">
<item name="android:textColor">#7ABDFF</item>
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<!--THE FOLLOWING ITEMS HAVE NOT EFFECT ... !! -->
<item name="android:layout_centerHorizontal">true</item>
<item name="android:layout_centerVertical">true</item>
<item name="android:textColorAlertDialogListItem">#A844BD</item>
<item name="android:itemBackground">#7ABDFF</item>
</style>
Aggiornamento
@lopez risposta è una soluzione completa, ma trovo una sola correzione linea per il mio problema, un tema personalizzato da applicare alle attività in palese:
<style name="MyTheme">
<item name="android:textColorAlertDialogListItem">@android:color/black</item>
</style>
Purtroppo questo l'attributo è disponibile solo nelle API 11 e oltre – jiduvah