android 4.0, le texte sur la barre d'action ne se montre JAMAIS
Je suis en train d'utiliser la nouvelle api de google, plus précisément de la barre d'action.
Lorsque la construction a été mis à l'api de 10, si j'ai appuyé sur le bouton de menu, j'ai eu beau regarder les options de menu, chacun avec une image et l'icône. Lors de l'utilisation de l'api de 14 ans, peu importe ce que j'essaie, il met toujours l'icône dans la barre d'action avec AUCUN texte. J'ai essayé tout ce que je peux penser. Je lui ai donné le "texte" de la propriété, a modifié le texte à un seul personnage (dans le cas où c'était une pièce de l'émission), mais rien.
J'ai vu ce fait avant, même dans le guide du développeur sur android.développeur, mais je n'arrive pas à trouver une réponse à COMMENT le faire apparaître.
- pourriez-vous montrer votre menu.xml pour l'activité? J'ai peut-être une solution
Vous devez vous connecter pour publier un commentaire.
Je soupçonne que c'était une décision consciente par les développeurs Android de ne pas afficher un menu unique de l'élément de texte et l'icône sur une étroite barre d'action. Mais si vous voulez vraiment le faire, vous pouvez utiliser android:actionLayout dans votre menu.xml fichier. Le Android ActionBar documentation a un peu plus d'explication.
Puis de créer votre
action_button_foo.xml
mise en page:et l'utilisation d'un sélecteur pour son arrière-plan
bg_btn_action_bar.xml
, de sorte qu'il change de couleur lorsque vous appuyez dessus:Maintenant, vous aurez besoin pour faire de votre affichage personnalisé poignée cliquez sur événements. Dans votre Activité, j'aime à le faire, afin que je puisse gérer le clic dans
onOptionsItemSelected
avec tous mes autres articles personnalisés.C'est certainement la même chose que j'ai observé sur mon Nexus S running 4.0.4. Mon application utilise une barre d'action avec plusieurs onglets qui sont mis en œuvre comme des fragments. Mes divers fragments de faire des ajustements pour les options de menu affichées sur la barre d'action, tandis que l'onglet est visible.
Ce qui semble être un bogue dans ICS, car il effectue systématiquement comme suit, à la fois sur mon Nexus S et dans l'émulateur (à la fois HVGA et WVGA800):
J'ai remarqué que certains autres pépins avec l'onglet spinner qui me poussent à croire que ce petit coin de partage de connexion internet est un peu brouillon/buggy. Si je dis à l'application de diviser la barre d'action sur d'étroites affiche (par l'ajout de
android:uiOptions="splitActionBarWhenNarrow"
dans le manifeste, ICS pousse toujours ces éléments à la barre du bas, même si il y a encore beaucoup de place à la partie supérieure. Et même avec la barre supplémentaire, il n'est toujours pas afficher le texte, juste l'icône.Sur ma Xoom de course 4.0.4, les onglets et les éléments d'action apparaîtra toujours de la façon que vous attendez qu'ils apparaissent parce qu'il y a beaucoup de place.
Solution de contournement: si vous voulez vraiment de texte sur la barre d'action en mode portrait, vous avez besoin d'abandonner l'icône. Supprimer l'icône de votre élément de menu et le texte s'affiche. Ce n'est pas exactement ce que nous sommes après si.
J'ai posté un rapport de bug ici: https://code.google.com/p/android/issues/detail?id=30180.
Si vous voulez que vos Options de Menu pour afficher dans votre barre d'action avec Nid d'abeille, j'ai fait ça:
Dans votre activité, remplacer cette fonction:
où R. menu.actionbar_universe définir votre élément de menu comme ceci:
Note le showAsAction="always|withText" et de préciser android:title.
Si vous en avez et sa ne fonctionne pas, veuillez copier|coller votre ressource de menu ici.
EDIT: Ceci répond à la mauvaise question, mais c'est le texte original.
J'utilise ce bout de code pour définir le titre de la barre d'action, et de le peindre en rouge avec mon sociétés logo. Il fonctionne bien dans la version 3.0.
La "withText" propriété fonctionne avec la plupart des tablettes, mais un moyen facile d'obtenir des icônes et du texte sur des appareils plus petits est d'ajouter le texte à côté de l'icône comme une image (fichier PNG).
De cette façon, à la fois le texte et l'icône sera considérée comme une icône et le tout s'affiche.
Vous pouvez utiliser l'icône d'origine pour les tablettes à l'aide de la withText de la propriété.
Vous devez créer un menu supplémentaire de dossier dans le répertoire res intitulé "menu-w600dp".
L'optionmenu.xml dans ce dossier s'appliqueront uniquement aux largeurs d'écran plus grand que 600dp
(ceux qui affichera les icônes et le texte avec pas de problèmes).
Résolu ce problème par la lecture de "Si votre application utilise la Bibliothèque de prise en charge" en vertu de la section Spécifier les Actions en XML.
Si aucun de ces autres choses pour vous, cela peut.
J'ai essayé de nombreuses options et je suis venu avec un simple "truc" sans bizarres ligne de code, sans images. Et la première solution personnalisée actionLayout ne fonctionne tout simplement pas pour moi avec l'API de niveau 10 de compatibilité.
Si vous souhaitez afficher le texte ET l'icône sur une petite barre d'action, cela signifie que vous savez que vous avez de la place, à droite? Ainsi, vous pouvez utiliser 2 eléments du menu:
Et choisissez le texte à l'action de "ifRoom" si nécessaire, de sorte que si vous avez besoin d'espace, le texte s'en aller. Il faudra un peu plus d'espace sur la barre d'action, mais était un bon compromis pour moi.
Je me retrouve avec le code suivant:
(MODIFIER Où "pelmel" est le nom de votre appli FIN MODIFIER)
Et ensuite votre sélection gestionnaire a juste à attraper les deux Id :
pelmel
est: c'estapp
Voici une autre option, basée seulement sur dgmltn de l'. Les avantages:
J'ai supposé que vous utilisez ActionBarSherlock dans cet exemple. Tout d'abord, créer la vue de mise en page que vous voulez. Celui-ci est basé sur ActionBarSherlock de l'. Tous j'ai changé, c'est la permutation de l'image/vue, réduire les partagé margin/padding à 0, de sorte qu'ils sont plus proches, et de résolution de tous les ABS styles.
Puis de créer le correspondant
View
classe. Vous pouvez copierCapitalizingButton
si vous êtes inquiet à propos de l'utilisation interne des choses. Ah, aussi, je n'ai jamais fixe la largeur minimale des trucs. Ne pense pas que cela importe vraiment bien.Ok, maintenant vous êtes prêt à l'utiliser. Dans vos éléments de menu que vous souhaitez que le texte, vous faites la même chose que ce que dgmltn dit:
Et enfin, il suffit d'ajouter ce code à votre activité/fragment:
Et c'est tout!