Style Sherlock Barre d'Action liste déroulante des articles
J'ai essayé pendant un moment de style des éléments dans une liste déroulante, j'ai ajouté à la Barre d'Action, mais je ne peux pas venir avec le bon code.
J'ai essayé de regarder dans le abs__styles.xml
et abs__themes.xml
dans le SherlockActionBar
projet, mais aucun des articles que j'ai ajouté à mon projet a travaillé.
La façon dont je suis la création de menus est la suivante:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//Sharing icons
SubMenu submenu = menu.addSubMenu(null);
submenu.add(getResources().getString(R.string.twitter));
submenu.add(getResources().getString(R.string.facebook));
submenu.add(getResources().getString(R.string.email));
//Share button itself
MenuItem ShareButton = submenu.getItem();
ShareButton.setIcon(R.drawable.icon_share_triangle);
ShareButton.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
//Twitter submenu button
MenuItem TwitterItem = submenu.getItem(0);
TwitterItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS | MenuItem.SHOW_AS_ACTION_WITH_TEXT);
TwitterItem.setOnMenuItemClickListener(new OnMenuItemClickListener() {
public boolean onMenuItemClick(MenuItem item) {
setShareTwitterIntent();
return true;
}
});
...
}
J'ai aussi essayé de prendre un coup d'oeil à ce post en utilisant le code suivant, mais toujours pas de chance:
<!-- style the list navigation -->
<style name="MyDropDownNav" parent="android:style/Widget.Holo.Light.Spinner.DropDown.ActionBar">
<item name="android:background">@drawable/ad_spinner_background_holo_light</item>
<item name="android:popupBackground">@drawable/ad_menu_dropdown_panel_holo_light</item>
<item name="android:dropDownSelector">@drawable/ad_selectable_background</item>
</style>
J'ai juste besoin de changer la couleur d'arrière-plan des éléments dans la liste déroulante.
Merci beaucoup pour votre aide!
EDIT:
J'ai aussi essayé, et ça ne fonctionne toujours pas:
<item name="android:actionDropDownStyle">@style/MyApp.DropDownNav</item>
<item name="actionDropDownStyle">@style/MyApp.DropDownNav</item>
...
<style name="MyApp.DropDownNav" parent="Widget.Sherlock.Light.Spinner.DropDown.ActionBar">
<item name="android:background">@drawable/sharing_panel</item>
</style>
Avez-vous obtenir votre problème résolu?
c'est reportée dans mon projet car il était faible priorité, mais dès que j'ai la solution, je vous laisse les gars, vous savez..
OriginalL'auteur noloman | 2012-07-09
Vous devez vous connecter pour publier un commentaire.
J'ai eu le même problème et après beaucoup de casse-tête - le genre de gratter comme un chien avec un mauvais cas de puces - je l'ai eu à travailler. C'est avec ABS 4.1 (90). Le code ci-dessous va changer la couleur de fond de la goutte vers le bas de l'élément.
SomeActivity.java
Remarque: Vous utilisez R. layout.sherlock_spinner_item pour la createFromResource et R. layout.sherlock_spinner_dropdown_item pour la setDropDownViewResource.
C'est ce qui apparaît dans l'échantillon de l'ABS source:
https://github.com/JakeWharton/ActionBarSherlock/blob/master/samples/demos/src/com/actionbarsherlock/sample/demos/ListNavigation.java
C'est parce que les autres déroulante dans la barre d'action quand la sherlock_spinner_item mise en page et la réelle éléments de liste déroulante utiliser le sherlock_spinner_dropdown_item mise en page qui signifie que les styles sont différents pour chacun:
Rappelez-vous les deux styles sont nécessaires - android: le préfixe des styles pour les pour les natifs de l'ICS ActionBar et le style sans le android: préfixe est pour le AcrionBarSherlock de style sur des appareils plus anciens que ICS.
res/values/styles.xml
res/values/color.xml
Veuillez marquer comme réponse si cela résout-il pour vous. Merci!
Liens:
Parcourir les styles:
https://github.com/JakeWharton/ActionBarSherlock/blob/master/actionbarsherlock/res/values/abs__styles.xml
Parcourir les thèmes:
https://github.com/JakeWharton/ActionBarSherlock/blob/master/actionbarsherlock/res/values/abs__themes.xml
Étrange, il a travaillé pour moi dans mon projet. Peut-être il y a d'autres changements dans les styles et les thèmes qui touchent de.
Pour moi, l'essentiel a été à l'aide de la getThemedContext() au lieu de juste de passage de l'activité. Merci!
OriginalL'auteur Richard Hollis
Pour changer le fond drawable de l'élément de menu dans Sherlock Barre d'Action (v4.1.0), utilisez la commande suivante:
espère que cette aide.
OriginalL'auteur Androyal
je l'utilise, et de son travail pour moi
où,
"spinner_background_holo_light" et "list_selector_holo_light" sont des sélecteurs
et
"actionbar_normal" drawable (image OU de la couleur)
OriginalL'auteur JafarKhQ
Je ne sais pas si cette question a été répondu de façon satisfaisante, mais j'ai rencontré ce problème et le fait de ne pas trouver une réponse que j'ai aimé. Il semblait que j'avais une jolie configuration standard de ActionBarSherLock et en utilisant le menu de navigation du bas m'a donné des mauvais résultats de la boîte. Le texte noir sur un fond noir. Je veux rendre le texte blanc. Voici comment j'ai fait:
Pour commencer, mon application pour le thème de base s'étend Thème.Sherlock:
Mon application effective thème AppTheme s'étend ma base (je ne me souviens pas pourquoi j'ai fait ça à l'époque, il est probablement inutile).
J'avais besoin de remplacer
Widget.Sherlock.TextView.SpinnerItem
et donc, comme ci-dessous:La raison pour cela était d'accéder à la TextApperance widget:
TextAppearance.Sherlock.Widget.TextView.SpinnerItem
C'était surchargée comme ci-dessous:
Ma plus grande erreur en liant pour obtenir le texte en essayant de résoudre ce essayait de régler directement textColor dans le substituée SpinnerItemStyle. Depuis il a utilisé une textAppearance widget, il a été tout simplement pas de travail.
Mon code pour faire ce travail ressemble à ça (dans mon activité de méthode onCreate):
Ce qui m'a permis de changer la couleur du texte, sur la touche de navigation déroulant à l'aide de ActionBarSherlock.
OriginalL'auteur maddesa
ActionBarSherlock vous oblige à utiliser l'une de ses 3 thèmes. Vous pouvez étendre tout de même, et de remplacer la liste déroulante style, comme ceci:
C'est en supposant que vous voulez l'holo thème de la lumière, et votre déroulante style est MyDropDownDav.
Puis dans votre code, vous venez de passer à l'utilisation de votre thème (que ce soit dans le manifeste, ou faire de l'Activité du onCreate).
<item name="android:actionDropDownStyle">@style/MyDropDownNav</item>
de sorte que le natif de la barre d'action permettra de l'utiliser aussi bien sur le nid d'abeilles et plus tard.J'ai fait un <style name="MyTheme" parent="Thème.Sherlock.La lumière"><item name="actionDropDownStyle">@drawable/sharing_panel_correct</item> <item name="android:actionDropDownStyle">@drawable/sharing_panel_correct</item></style> mais ça ne fonctionne toujours pas, pas de différences..
OriginalL'auteur azgolfer