Changer la barre d'action sur la couleur compressée
Je ne peux pas comprendre comment le changement de l'action éléments de la barre de "onPressed" de la couleur sur Android. Je ne parle pas de l'action de fond de la barre de couleur, mais à propos du bleu au-dessus de l'état. Comment puis-je changer la couleur de ce ou tout au moins de s'en débarrasser? Par exemple, l'Icône de l'Application avec le homeAsUpIndicator.
J'ai essayé de changer la barre d'action de style et aussi l'élément de menu style, mais rien n'a fonctionné.
Grâce
MODIFIER
Voici ma mise en œuvre de la mesure:
Mon style xml:
<style name="Theme.AppTheme" parent="@android:style/Theme.Holo">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:selectableItemBackground">@android:color/transparent</item>
<item name="android:windowEnterAnimation">@anim/fadein</item>
<item name="android:windowExitAnimation">@anim/fadeout</item>
<item name="android:actionBarItemBackground">@android:color/transparent</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">@drawable/actionbarheader</item>
<item name="android:backgroundStacked">@drawable/actionbarheader</item>
<item name="android:backgroundSplit">@drawable/actionbarheader</item>
<item name="android:titleTextStyle">@style/ActionBarTitle</item>
<item name="android:actionBarItemBackground">@android:color/transparent</item>
<item name="android:actionButtonStyle">@style/MyActionButtonStyle</item>
<item name="android:homeAsUpIndicator">@drawable/actionbarlogo</item>
<item name="android:icon">@drawable/app_icon</item>>
</style>
<style name="ActionBarTitle" parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textSize">20sp</item>
</style>
<style name="MyActionButtonStyle" parent="@android:style/Widget.Holo.Light.ActionButton">
<item name="android:background">@android:color/transparent</item>
</style>
Puis j'ai dessiné pour la actionbarogo:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/actionbarlogo_on" android:state_pressed="true"/>
<item android:drawable="@drawable/actionbarlogo_on" android:state_focused="true"/>
<item android:drawable="@drawable/actionbarlogo_off"/>
</selector>
Mon menu xml pour l'action, les éléments de la barre:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/ContactsMode"
android:icon="@drawable/actionbarcontacts"
android:title="@string/contacts"
android:orderInCategory="100"
android:showAsAction="always"
android:background="@android:color/transparent" />
</menu>
et enfin, l'élément drawable:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/actionbarcontacts_on" android:state_pressed="true"/>
<item android:drawable="@drawable/actionbarcontacts_on" android:state_focused="true"/>
<item android:drawable="@drawable/actionbarcontacts_off"/>
</selector>
Ici est de savoir comment je créer les Éléments de Menu pour l'ActionBar:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
actionBar.setIcon(R.drawable.actionbarlogo);
return true;
}
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem item= menu.findItem(R.id.ContactsMode);
if(ContactsButton)
item.setVisible(true);
else
item.setVisible(false);
return true;
}
source d'informationauteur Showpath
Vous devez vous connecter pour publier un commentaire.
Pour définir l'arrière-plan pour l'icône de l'application avec le homeAsUpIndicator (il y a un fond commun de ces deux icônes de), vous devez définir
android:actionBarItemBackground
élément dans le thème. Le thème doit contenir quelque chose comme ça (je suppose que vous utilisez ActionBarSherlock):Où le drawable
drawable/my_background.xml
serait un StaleListDrawablecontenant quelque chose comme ceci:Pour désactiver l'arrière-plan, vous pouvez définir un arrière-plan transparent, ou de la valeur
@null
dans le thème peut également travailler.Le thème de l'élément de
android:actionBarItemBackground
définit l'arrière-plan pour l'icône de l'application et homeAsUpIndicator. Mais il contient aussi l'arrière-plan par défaut pour les éléments de menu, icône de débordement et d'arrière-plan pour le titre. Ces milieux peuvent être remplacées.Éléments de Menu
Pour modifier l'élément de menu arrière-plan définir un bon
(android:)actionButtonStyle
dans le thème comme ceci:Et
MyActionButtonStyle
contiendra quelque chose comme ceci:Icône de débordement
Et enfin, pour changer l'icône de débordement fond un bon
android:actionOverflowButtonStyle
dans le thème comme ceci:Et
MyOverflowButtonStyle
contiendra quelque chose comme ceci:Fixe. Il y avait une activité parent de changer le thème dans la méthode onCreate...
Je ne savais pas que vous pouviez définir le thème par programme au sein de l'activité avec: