sombre de la barre d'action avec le Thème.AppCompat
Je suis en utilisant Theme.AppCompat
pour mon application pour obtenir le regard sombre. Tout semble bon, sauf la barre d'action à l'aide de ce thème ressemble à l'ancienne c'est à dire qu'il a un bleu vif bas diviseur.
Je veux que la barre d'action pour ressembler à elle est en Theme.AppCompat.Light.DarkActionBar
.
Regardant themes.xml, je trouve :
<style name="Theme.AppCompat.Light.DarkActionBar"
parent="Theme.Base.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">true</item>
</style>
<style name="Theme.Base.AppCompat.Light.DarkActionBar" parent="Theme.Base.AppCompat.Light">
<item name="actionBarDivider">@drawable/appcompat_divider_dark</item>
</style>
J'ai donc créer mon propre style en tant que ci-dessous :
<style name="myTheme" parent="@style/Theme.AppCompat">
<item name="actionBarDivider">@drawable/appcompat_divider_dark</item>
</style>
Mais j'obtiens l'erreur de génération :
No resource found that matches the given name (at 'actionBarDivider' with value
'@drawable/appcompat_divider_dark')
Pourquoi ne puis-je pas utiliser le même drawable qui est utilisé par le framework?
Avez-vous essayé
oui, j'ai. Il ne fait aucune différence. Eclipse me montre l'erreur est dans le drawable référence de ressource, pas dans le nom de l'attribut, avec ou sans le
Je n'ai pas le drawable dans mon projet, mais j'attends qu'il soit disponible dans l'android, car il est utilisé par les
OK, j'ai trouvé
<item name="android:actionBarDivider">
?oui, j'ai. Il ne fait aucune différence. Eclipse me montre l'erreur est dans le drawable référence de ressource, pas dans le nom de l'attribut, avec ou sans le
android:
.@drawable/appcompat_divider_dark
signifie que vous avez une ressource nommée appcompat_divider_dark.png
(ou .9.png, ou .jpg) dans l'un de vos /res/drawable
dossiers. Est-ce donc?Je n'ai pas le drawable dans mon projet, mais j'attends qu'il soit disponible dans l'android, car il est utilisé par les
Theme.Base.AppCompat.Light.DarkActionBar
thème. J'ai vérifié le drawable dossiers de la bibliothèque de prise en charge du projet appcompat_v7
, mais ne pouvait pas le trouver là-bas. Vous ne savez pas où il se cache.OK, j'ai trouvé
action_bar_divider
. ce n'est pas un png fichier, c'est un xml drawable. Il n'y a qu'un gradient linéaire verticale, à l'intérieur. Sur mon PC, il se trouve dans C:\Program Files\[Eclipse installation Path]\sdk\platforms\android-19\data\res\drawable
OriginalL'auteur faizal | 2014-07-11
Vous devez vous connecter pour publier un commentaire.
La ligne bleue est la partie de l'image de fond utilisée pour la barre d'action. Par exemple, vous pouvez le trouver dans :
sdk/platforms/android-19/data/res/drawable-xxhdpi/ab_transparent_dark_holo.9.png
L'astuce consiste à créer votre propre style de Widget en héritant
Widget.AppCompat.ActionBar
et définissez l'attribut background de vos png, qui n'ont pas la ligne bleue. J'utilise la bibliothèque de prise en charge existantes@drawable/abc_ab_bottom_transparent_dark_holo
. Vous pouvez le trouver dans le dossiersdk/extras/android/support/v7/appcompat/res/drawable-hdpi/
.Afin de créer l'élément ci-dessous dans le styles.xml fichier.
Ensuite inclure ce nouveau style dans votre thème(déjà présent dans le styles.xml fichier) :
Pour permettre ce changement dans les anciennes Api, de faire les mêmes changements dans tous les dossier 3 -
values-v14
,values-v12
etvalues
.Une chose importante à noter est que le "android:" espace de noms doit pas être utilisé pour le nom des attributs dans la
values-v12
etvalues
dossiers.OriginalL'auteur faizal