2013-07-11 2 views
0

Dans mon application, j'ai utilisé Theme.Holo.Light pour faire paraître l'ActionBar léger et je suis plutôt satisfait du résultat.Comment puis-je forcer mes widgets à utiliser un thème sombre?

Le seul problème est que tous mes widgets (EditText, Spinner, etc ..) agissent comme le fond était blanc, alors que je mets un bleu foncé:

enter image description here

est-il facile manière dans le fichier style.xml où je peux forcer tout pour agir comme si le thème était sombre?

Je sais que je pourrais thématiser la couleur du texte, les ressources de fond, etc. Mais ce serait un travail énorme.

Merci beaucoup pour tout indice qui pourrait m'aider à atteindre cet objectif facilement.

Edit: ce qui semble la meilleure solution, mais ne fonctionne pas:

<style name="AppBaseTheme" parent="@android:Theme.Holo"> 
    <item name="android:actionBarStyle">@style/MyActionBar</item> 
</style> 

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar"> 
</style> 

Répondre

0

Pour résoudre ce (la manière simple), vous devez utiliser Theme.Holo. Et Changez la barre d'action en Theme.Holo.Light.

étendre le thème:

<style name="MyTheme.Dark" parent="android:Theme.Holo.Light.ActionBar"></style> 

utilisation getActionBar().getThemedContext() que le contexte pour gonfler votre point de vue.

+0

Merci beaucoup pour votre réponse, mais en utilisant Holo.Light dans MyTheme.Dark apportera du texte noir partout et c'est ce que je veux éviter. Je ne peux pas utiliser le code chaque fois que je gonfle une vue, ce serait trop de travail, je prévois vraiment d'utiliser un style en xml si possible. –

0

Vous pouvez utiliser la bibliothèque Holoeverywhere pour obtenir votre résultat.
HoloEveryWhere

+0

Lol, si vous cliquez sur le lien "Christophe" sur le projet, vous comprendrez que c'est moi ;-) mais HoloEverywhere utilise des objets standart Holo sur Android> 3.0 donc ne sera pas utile ;-) Le problème restera le même! –

Questions connexes