Android appcompat actionbar élément de menu showAsAction ne fonctionne pas
J'ai un élément de menu qui s'affiche sur android 4.x mais pas le 2.x. Voici mon menu.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto" >
<item
android:id="@+id/menu_filter"
android:title="Filter"
app:showAsAction="always"/>
</menu>
C'est mon actionbar style
<style name="style1_actionBar" parent="@style/Widget.AppCompat.Light.ActionBar">
<item name="android:background">@color/blue_dark</item>
<item name="android:textColor">@color/white</item>
<item name="actionMenuTextAppearance">@color/white</item>
<item name="background">@color/blue_dark</item>
</style>
Des idées?
Edit: suppression de devis double faute de frappe
Pourrait-il être le fait que je suis en train de montrer que du texte, pas d'icônes? Je suis un peu coincé ici.
- Vous avez un message d'erreur à
xmlns:app="”http://schemas.android.com/apk/res-auto”"
... observer deux double-guillemets au début et à la fin... il faut êtrexmlns:app="http://schemas.android.com/apk/res-auto"
. Il peut être une faute de frappe erreur 🙂 - L'homme que je suis vraiment excité et de la pensée qui permettrait de résoudre, mais non, même problème, même avec cette correction
InformationsquelleAutor pickle_inspector | 2014-02-19
Vous devez vous connecter pour publier un commentaire.
Ouf, merci pour votre aide les gars, mais j'ai réussi à le comprendre. Il n'était pas un problème avec le xml, c'était un problème avec le onCreateOptionsMenu fonction.
J'ai été en utilisant cette
au lieu de cela
Pas entièrement sûr de savoir pourquoi cela fonctionne, mais il n'.
Veuillez vous référer à la documentation. http://developer.android.com/guide/topics/ui/actionbar.html
À l'aide des attributs XML à partir de la bibliothèque de prise en charge
Avis que le showAsAction attribut ci-dessus utilise un espace de noms personnalisé défini dans la balise. Cela est nécessaire lorsque vous utilisez l'un des attributs XML définis par la bibliothèque de prise en charge, parce que ces attributs n'existent pas dans l'Android-cadre sur les appareils plus anciens. Si vous devez utiliser votre propre espace de noms comme préfixe pour tous les attributs définis par la bibliothèque de prise en charge.
Dans mon cas, j'ai dû ajouter quelques lignes à onCreateOptionsMenu.
Android Studio ne me laisse pas utiliser android:showAsAction="ifRoom" lors de l'utilisation appCompat.
application:showAsAction="ifRoom" n'ont pas de travail et je l'ai enlevé sans problèmes.
Si vous voulez que votre application afin de soutenir l'action de la barre ci-dessous 3.0, vous devez utiliser l'app compact v7 à partir de la bibliothèque de prise en charge.
Également de vérifier la lien
À l'aide du menu dans une activité qui s'étend de la AppCompact il est nécessaire d'importer le contexte de l'application dans le fichier XML et l'utiliser:
Ce que vous devez faire est fondamentalement ajouter
xmlns:app="http://schemas.android.com/apk/res-auto"
à l'élément du menu dans votre choix de XML et de l'utilisation de la showAsAction dans le format suivant:app:showAsAction="ifRoom"
.Cela permettra d'afficher l'icône dans la barre d'action, si possible.