Je sais qu'il est possible de l'avoir donc si j'ai un réglage que je peux changer entre Holo.Light et Holo, cependant, je n'arrive pas à trouver comment. Toute aide est appréciée!Comment modifier un thème Holo Dark/Light depuis l'application?
5
A
Répondre
7
Je pense que vous pouvez le faire en utilisant la méthode setTheme()
. Assurez-vous juste que vous l'appelez avant d'utiliser setContentView
, ou cela ne fonctionnera pas.
Par exemple:
if(userChoice ==1){
setTheme(android.R.style.Theme_Holo_Light);
else if(userChoice == 2){
setTheme(android.R.style.Theme_Holo);
}
Une liste des thèmes se trouve here
7
Selon un commentaire sur la réponse affiché, si vous avez besoin pour basculer entre la valeur par défaut Holo Thèmes, utilisez ceci:
if (mThemeId == R.style.AppTheme.Dark) {
mThemeId = android.R.style.Theme_Holo_Light;
} else {
mThemeId = android.R.style.Theme_Holo;
}
this.recreate();
Pour utiliser vos propres thèmes personnalisés à partir de votre fichier Styles.XML
. Par exemple, quelque chose comme ceci:
<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>
Definit une variable globale dans votre Activity
:
private int mThemeId = -1;
et de définir votre méthode onCreate() comme ceci:
@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);
}
Et la code pour basculer entre les deux thèmes:
if (mThemeId == R.style.AppTheme.Dark) {
mThemeId = R.style.AppTheme.Light;
} else {
mThemeId = R.style.AppTheme.Dark;
}
this.recreate();
Remarque: Le thème doit être défini avant votre appel à setContentView()
Questions connexes
- 1. android holo thème fond
- 2. Spinner à l'ancienne pour le thème Holo
- 3. Comment régler le thème holo dark dans une application Android?
- 4. Voulez actionbar, mais pas peau de thème holo
- 5. Holo thème et arrière-plan personnalisé pour mon bouton
- 6. Afficher AlertDialog en utilisant Sherlock avec le thème Holo?
- 7. effet inattendu de Holo lumière Thème de ma barre d'action
- 8. Holo Thème Compatibilité descendante pour les onglets Action Bar
- 9. SeekBar Holo Thème à l'aide de la bibliothèque de support
- 10. Comment modifier textColorPrimary dans un thème?
- 11. Plein écran Holo Dialogs
- 12. Comment obtenir un objet stlyed du thème Holo Dark à des versions android plus anciennes?
- 13. Modifier le thème Telerik
- 14. Comment faire un bouton non-holo avec DialogFragment
- 15. Dark ActionBar dans Holo Dark
- 16. Gestion du thème depuis l'extension firefox
- 17. Android: couleur du texte holo
- 18. Modifier un thème de couleur emacs existant
- 19. Modifier un site wordpress indépendamment du thème
- 20. Modifier mon thème CTAGS
- 21. comment configurer holo thème UI sans barre d'action dans android 2.3 et ci-dessus
- 22. Comment pouvons-nous utiliser Thème Holo (pris en charge dans android 4.x) dans android 2.3
- 23. Comment importer un thème?
- 24. Modifier dynamiquement le thème d'activité
- 25. Accéder au thème du parent depuis iframe
- 26. AlertDialog Holo couleur d'accent pour les styles.xml
- 27. Changer la couleur du texte holo spinner
- 28. Impossible de trouver le thème HOLO dans l'éditeur de mise en page Android
- 29. La barre d'état de Honeycomb reste sombre même avec le thème Holo Light
- 30. Le thème Holo fonctionne-t-il avec une barre de titre personnalisée?
Pourquoi définiriez-vous vos propres thèmes, et pas seulement 'android.R.style.DesiredThemeIdHere'? –
@AndreyVoitenkov: Ce n'est pas nécessaire. Je ne fais que mettre la possibilité d'utiliser des thèmes personnalisés et de les changer au moment de l'exécution. Désolé si c'était inutile. – SSL