Détails :
J'étend l'ActionBarActivity.
Eclipse et SDK entièrement patchés à partir du 2011-11-06.
<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="14" />
Déployé sur un appareil Samsung avec Android 2.3.3
L'application possède android:theme="@android:style/Theme.Light"
.
Issue: l'application est claire, mais la barre d'action est bleue avec des icônes grises, à peine visibles sur le fond bleu. Je souhaite également que la barre d'action soit claire, afin que les icônes grises soient plus visibles.
J’ai essayé de modifier les styles, mais en vain.
J’ai probablement raté quelque chose d’important.
**Comment modifier la couleur d'arrière-plan de la barre d'action d'une ActionBarActivity en utilisant XML ?
Selon la [documentation] (http://developer.android.com/guide/topics/ui/actionbar.html) - "Vous pouvez contrôler les comportements et la visibilité de la barre d'action avec les API ActionBar, qui ont été ajoutées dans Android 3.0 (niveau 11 de l'API)." ;
Donc, ActionBar ne fonctionnera pas pour votre environnement cible qui est au niveau 10 de l'API (Android 2.3.3).
Au cas où, si vous visez le niveau 11 de l'API, vous pouvez modifier la couleur d'arrière-plan de la barre d'action en définissant un style personnalisé, comme suit :
<resources>
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">ANY_HEX_COLOR_CODE</item>
</style>
</resources>
Et définissez "MyTheme" ; comme thème pour l'application/activité.
Essayez ceci
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable("COLOR"));
J'ai eu le même problème, ma barre d'action devenait grise lorsque j'entrais ce code. Il est probable que votre feuille de style originale ressemblait à ceci :
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!-- API 14 theme customizations can go here. -->
</style>
L'attribut "DarkActionBar" était ce qui gardait votre barre d'action grise. Je l'ai remplacé par ceci, et ça a marché :
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<!-- API 14 theme customizations can go here. -->
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#2aa4cd</item>
<item name="android:titleTextStyle">@style/Theme.MyAppTheme.ActionBar.TitleTextStyle</item>
</style>
<style name="Theme.MyAppTheme.ActionBar.TitleTextStyle" parent="android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">#FFFFFF</item>
</style>
J'ai également expliqué comment modifier la couleur du texte. De plus, il n'est pas nécessaire de modifier les éléments entourant les ressources.
-Warren