Mon application a bien fonctionné jusqu'à ce que j'essaie d'y ajouter une bibliothèque. Après avoir ajouté la bibliothèque, Android Studio me donne l'erreur suivante:
Erreur: (26) Aucun identificateur de ressource trouvé pour l'attribut 'layout_behavior' dans le package 'inf ..'
Ceci est mon fichier build.gradle:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:23.0.1'
compile 'com.Android.support:support-v4:23.0.1'
compile 'com.ogaclejapan.smarttablayout:utils-v4:1.3.0@aar'
compile 'com.ogaclejapan.smarttablayout:library:1.3.0@aar'
compile 'com.jpardogo.materialtabstrip:library:1.1.0'
// compile 'com.lorentzos.swipecards:library:1.0.9@aar'
compile 'com.Android.support:cardview-v7:21.0.3'
compile 'com.Android.support:recyclerview-v7:21.0.3'
compile 'com.melnykov:floatingactionbutton:1.3.0'
compile project(':swipelib')
}
C'est le XML qui provoque l'erreur:
<Android.support.v4.view.ViewPager
Android:id="@+id/viewpager"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
J'ai essayé ce qui suit:
Cependant, l'erreur persiste. Comment résoudre ça?
Cette ressource de chaîne est définie dans la bibliothèque de support de Material Design.
Puisque vous n'utilisez pas le CoordinatorLayout
de la bibliothèque de support de Material Design, vous devriez pouvoir supprimer le app:layout_behavior
attribut. C'était probablement copier/coller à partir d'un autre code.
REMARQUE: Si vous utilisez réellement CoordinatorLayout
et souhaitez que les comportements de défilement coopératif fonctionnent, vous devez ajouter la dépendance de la dernière version de la bibliothèque Material Design Support dans votre fichier de génération Gradle:
compile 'com.Android.support:design:23.0.1'
UPDATE: Notez qu'avec les dernières versions de Gradle, la configuration compile
est déconseillée au profit de configurations implementation
et api
afin que votre dépendance puisse ressembler à ceci:
implementation 'com.Android.support:design:27.0.2'
Ceci n'est qu'un exemple. les numéros de version peuvent être obsolètes lorsque vous lisez ceci, assurez-vous donc que votre version correspond à la version de la bibliothèque de support que vous souhaitez utiliser.
Pour plus d'informations: Quelle est la différence entre une implémentation et une compilation graduelle
Juste au cas où quelqu'un d'autre viendrait de Google et ferait la même erreur que moi, c'est layout_behaviOr
, ne pas layout_behavioUr
.
Note: Les versions ont changé, remplacez les versions ci-dessous par les plus récentes.
La réponse acceptée supprime l'erreur dans le cas où layout_behavior n'est pas nécessaire, mais si vous voulez réellement utiliser:
app:layout_behavior="@string/appbar_scrolling_view_behavior"
Assurez-vous d’ajouter la dépendance appropriée au fichier build.gradle de votre module:
apply plugin: 'com.Android.library'
Android {
compileSdkVersion 23
buildToolsVersion "21.1.2"
//Other stuff....
}
dependencies {
//Importing the design library fixes the build
compile 'com.Android.support:design:23.1.0'
//Other libraries....
}
C'est à dire. ajoutez cette ligne à vos dépendances:
compile 'com.Android.support:design:23.1.0'
Pour ceux qui utilisent AndroidX et ne veulent pas ajouter l'ancienne bibliothèque:
com.Android.support:design:28.0.0
vous pouvez ajouter à la place:
implementation 'com.google.Android.material:material:1.0.0'
et l'utiliser comme ça:
app:layout_behavior="com.google.Android.material.appbar.AppBarLayout$ScrollingViewBehavior"
Remplacez "app: layout_behavior =" @ string/appbar_scrolling_view_behavior "par app: layout_behavior =" Android.support.design.widget.AppBarLayout $ ScrollingViewBehavior "
pour ceux qui utilisent androidX
com.Android.support:design is now moved to com.google.Android.material
vous devrez inclure ceci
implementation 'com.google.Android.material:material:1.1.0-alpha02'
J'utilise Androidx, alors j'ai implémenté implementation 'com.google.Android.material:material:1.1.0-alpha05'
mais sa me donne toujours l'erreur Unresolved class @string/appbar_scrolling_view_behavior
donc j'ai juste trouvé Invalidate caches/Restart
La méthode la plus rapide consiste à Fichier → Invalider les caches/Redémarrer ... → Il suffit de redémarrer.
J'espère que cela vous aidera.
Remarque: Dans Android Studio v3.4 montrant app:layout_behavior="@string/appbar_scrolling_view_behavior"
Classe non résolue @string/appbar_scrolling_view_behavior
mais travaillez lorsque vous exécutez votre application.
si vous n'avez pas ajouté de matériel Android, ajoutez d'abord cette ligne dans vos dépendances dans le fichier build.gradle
implementation 'com.google.Android.material:material:1.0.0'
puis utilisez plutôt cet attribut
app:layout_behavior="com.google.Android.material.appbar.AppBarLayout$ScrollingViewBehavior"
J'ai ce problème. et j'ai résolu mon problème avec les étapes de remorquage. 1- Télécharger la dernière version du paquet AndroidSupportLibrary et du paquet AndroidSupportRepository (ou les installer à la version la plus récente) dans SDKTools of Android sdk manager. 2- Modifier les dépendances de la prise en charge de la construction.
compile 'com.Android.support:appcompat-v7:25.+'
compile 'com.Android.support:support-v4:25.+'
compile 'com.Android.support:recyclerview-v7:25.+'
compile 'com.Android.support:design:25.+'
Ajouter compiler com.Android.support:design:23.0.1
Dans votre build.gradle
dépendances.
Réponse de AgentKnopf "Assurez-vous d'ajouter la dépendance appropriée au fichier build.gradle de votre module", puis ajoutez-le, assurez-vous également que le module est identique à votre version actuelle, comme ceci: compiler ' com.Android.support:design:25.3.1.0 si vous n'utilisez pas la compilation 'com.Android.support:design**:23.1.0* * '