So che è possibile averlo quindi se ho un settaggio posso cambiare tra Holo.Light e Holo, tuttavia, non riesco a capire come. Tutto l'aiuto è apprezzato!Come passare a un tema Holo Dark/Light dall'interno dell'app?
5
A
risposta
7
Penso che sia possibile farlo utilizzando il metodo setTheme()
. Assicurati di chiamarlo prima di usare setContentView
, altrimenti non funzionerà.
Ad esempio:
if(userChoice ==1){
setTheme(android.R.style.Theme_Holo_Light);
else if(userChoice == 2){
setTheme(android.R.style.Theme_Holo);
}
un elenco di temi può essere trovato here
7
Come per un commento sulla risposta postato, se è necessario per passare da una di default Holo Temi, utilizzare questo:
if (mThemeId == R.style.AppTheme.Dark) {
mThemeId = android.R.style.Theme_Holo_Light;
} else {
mThemeId = android.R.style.Theme_Holo;
}
this.recreate();
Per utilizzare i temi personalizzati definiti dal file Styles.XML
. Per esempio, qualcosa di simile:
<style name="ActionBar" parent="@android:style/Widget.Holo.ActionBar" />
<style name="ActionBar.Light" parent="@style/ActionBar">
<item name="android:background">@color/actionbar_background_light</item>
</style>
<style name="ActionBar.Dark" parent="@style/ActionBar">
<item name="android:background">@color/actionbar_background_dark</item>
</style>
<style name="AppTheme.Light" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar.Light</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="listDragShadowBackground">@android:color/background_light</item>
<item name="menuIconCamera">@drawable/ic_menu_camera_holo_light</item>
<item name="menuIconToggle">@drawable/ic_menu_toggle_holo_light</item>
<item name="menuIconShare">@drawable/ic_menu_share_holo_light</item>
</style>
<style name="AppTheme.Dark" parent="@android:style/Theme.Holo">
<item name="android:actionBarStyle">@style/ActionBar.Dark</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="listDragShadowBackground">@android:color/background_dark</item>
<item name="menuIconCamera">@drawable/ic_menu_camera_holo_dark</item>
<item name="menuIconToggle">@drawable/ic_menu_toggle_holo_dark</item>
<item name="menuIconShare">@drawable/ic_menu_share_holo_dark</item>
</style>
definisce questo come una variabile globale nella vostra Activity
:
private int mThemeId = -1;
e impostare il metodo di onCreate() in questo modo:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(savedInstanceState != null) {
if (savedInstanceState.getInt("theme", -1) != -1) {
mThemeId = savedInstanceState.getInt("theme");
this.setTheme(mThemeId);
}
mTitlesHidden = savedInstanceState.getBoolean("titlesHidden");
}
setContentView(R.layout.main);
}
E il codice per alternare tra i due temi:
if (mThemeId == R.style.AppTheme.Dark) {
mThemeId = R.style.AppTheme.Light;
} else {
mThemeId = R.style.AppTheme.Dark;
}
this.recreate();
Nota: il tema deve essere impostato prima della chiamata a setContentView()
Problemi correlati
- 1. DatePickerDialog con tema Holo Light?
- 2. traslucido dialogo Tema per Holo
- 3. Mixing holo light and holo dark ModificaText in tema
- 4. uso tema Holo su Android <4.0
- 5. Impostazione tema Holo per l'applicazione Android
- 6. come modificare la linea blu in AlertDialog (tema Holo)
- 7. Android - Cambia il colore blu predefinito per il tema Holo
- 8. Imposta il tema Holo nelle versioni precedenti di Android?
- 9. Il tema Holo funziona con la barra del titolo personalizzata?
- 10. Android: testo colore holo light
- 11. Temi Android Holo con compatibilità all'indietro
- 12. Come utilizzare il tema Holo.Light ma l'ActionBar utilizza Holo withouth ICS?
- 13. Android: Theme Holo versione precedente
- 14. Quali sono i valori di colore predefiniti per il tema Holo su Android 4.0?
- 15. Applicazione di un tema a un appwidget
- 16. Cosa c'è che non va nel tema Holo Dialog di ICS?
- 17. Come passare una funzione per il parametro Tema julia Tafano
- 18. Cambio di default di colore blu in tema Holo Android ad arancione (o qualsiasi altra cosa)
- 19. Pulsante Holo personalizzato
- 20. Come pulsanti della finestra di dialogo stile Holo per Android
- 21. Cambia Holo filatore colore del testo
- 22. Come passare una variabile a form_theme?
- 23. Come passare un evento a un metodo?
- 24. Come passare un URI a un intent?
- 25. Disegna bordo a tema di un TEdit
- 26. Come adattare il tema WordPress a BlogEngine.net
- 27. Come si crea un NSButton a tema personalizzato?
- 28. Come si porta un tema da Silverlight a WPF?
- 29. Come applicare un tema a una barra degli strumenti Android?
- 30. Come fare riferimento a uno stile in un tema personalizzato
Perché dovresti definire i propri temi, non solo usare 'android.R.style.DesiredThemeIdHere'? –
@AndreyVoitenkov: non è necessario. Sto semplicemente mettendo la possibilità di utilizzare temi personalizzati e modificarli in fase di esecuzione. Scusa se non fosse necessario. – SSL