web-dev-qa-db-fra.com

erreur: impossible de trouver la variable de symbole abc_ic_ab_back_mtrl_am_alpha

J'ai ajouté un fragment à mon projet Android Studio utilisant New > Fragment > Fragment (Blank)]). Par conséquent, lorsque j'essaie de l'exécuter, le projet ne sera pas compilé car il ne peut pas résoudre R.drawable.abc_ic_ab_back_mtrl_am_alpha dans

toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);

Des idées pour résoudre ça?

Il semble que j'ai aussi perdu l'accès à Android:buttonTint

63
Nouvel Travay

Le nom de la ressource a été modifié dans la bibliothèque de support 23.2.0.

Modifier abc_ic_ab_back_mtrl_am_alpha à abc_ic_ab_back_material

Edit: Dans 23.2.1, le nom du composant a été remplacé par abc_ic_ab_back_mtrl_am_alpha

Edit: Dans 24.0.0, le nom du composant a été changé en: abc_ic_ab_back_material

174
Jon

Il semble qu'il n'y ait plus d'images au format raster à cause de l'implémentation pouvant être dessinée par vecteur dans la bibliothèque de support. Donc, je mets ce vecteur drawable qui représente la même flèche que dans la version précédente de la bibliothèque de support. Cliquez avec le bouton droit de la souris sur le dossier pouvant être dessiné , Nouveau -> Fichier de ressources pouvant être dessiné et collé. ce code xml:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:width="24dp"
    Android:height="24dp"
    Android:viewportWidth="24"
    Android:viewportHeight="24">

    <path
        Android:pathData="M0 0h24v24H0z" />
    <path
        Android:fillColor="#ffffff"
        Android:pathData="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" />
</vector>

Source

Pour les API <21, vous devrez ajouter ces propriétés dans le fichier de construction de Gradle:

Gradle Plugin 2.0+

Android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }

Gradle Plugin 1.5

Android {  
   defaultConfig {  
     generatedDensities = []  
  }  

  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 } 

Voir cet article de blog pour plus d'informations.

15
flyingAssistant

Dans mon cas, j'ai fait comme ça

final ActionBar ab = mActivity.getSupportActionBar();
             ab.setHomeAsUpIndicator(Android.support.v7.appcompat.R.drawable.abc_ic_ab_back_material);
7
user711023

J'ai eu ce problème lorsque mis à jour le Android Bibliothèque de support à la version 23.2.0

Dans mon cas, j'utilisais une bibliothèque tierce en conflit.

Je suis passé à la nouvelle version de la bibliothèque tierce pour résoudre le problème.

Désolé que ce ne soit peut-être pas la réponse que vous cherchez, mais cela m'est aussi arrivé il y a quelques minutes à peine. Android Studio m'a informé qu'une version plus récente de "com.google.Android.gms" et "com.Android.support" était disponible dans mon fichier Gradle - à l'époque, je utilisait 8.3.0 pour le premier et 23.1.1 pour le dernier, alors j’ai mis à jour vers 8.4.0 et 23.2.0 et c’est alors que j’ai eu le même problème que vous et Android Studio a sauté dans le fichier values-v11.xml de la bibliothèque pour les dialogues de matériaux d’AFollestad, et il semble que cela pose problème car il tilise la bibliothèque AppCompat .

EDIT: Vient de trouver this , si vous utilisez des dialogues de matériaux, vérifiez si vous utilisez la version 0.8.5.5. Si non, mettez-le à niveau.

1
CiaranC94