Подтвердить что ты не робот

Идентификатор ресурса не найден для атрибута 'layout_behavior' в пакете

Мое приложение отлично работало, пока я не попытался добавить к нему библиотеку. После того, как я добавил библиотеку, Android Studio дает мне следующую ошибку:

Ошибка: (26) Идентификатор ресурса не найден для атрибута 'layout_behavior' в пакете 'inf..'

Это мой файл 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:[email protected]'
    compile 'com.ogaclejapan.smarttablayout:library:[email protected]'
    compile 'com.jpardogo.materialtabstrip:library:1.1.0'
    // compile 'com.lorentzos.swipecards:library:[email protected]'
    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')
}

Это xml, который вызывает ошибку:

 <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"/>

Я попробовал следующее:

  • Удалена библиотека
  • Reset Android Studio и мой компьютер
  • Вернулась к предыдущей версии моего кода из git.

Однако ошибка сохраняется. Как это разрешить?

4b9b3361

Ответ 1

Этот строковый ресурс определен в библиотеке поддержки Material Design.

Поскольку вы не используете CoordinatorLayout из библиотеки поддержки Material Design, вы сможете безопасно удалить атрибут app:layout_behavior. Это было, вероятно, вырезано и вставлено из другого кода.

ПРИМЕЧАНИЕ. Если вы на самом деле используете CoordinatorLayout и хотите, чтобы кооперативная прокрутка работала, вам нужно добавить зависимость для последней версии библиотеки поддержки проектирования материалов в файл сборки Gradle:

compile 'com.android.support:design:23.0.1'

ОБНОВЛЕНИЕ: обратите внимание, что в последних версиях Gradle конфигурация compile устарела в пользу implementation и конфигураций api поэтому ваша зависимость может выглядеть следующим образом:

implementation 'com.android.support:design:27.0.2'

Это только пример; номера версий могут быть устаревшими, когда вы читаете это, поэтому убедитесь, что ваша версия соответствует версии библиотеки поддержки, которую вы хотите использовать.

Для получения дополнительной информации: в чем разница между реализацией и компиляцией в Gradle

Ответ 2

На всякий случай кто-то из Google приходит и делает ту же ошибку, что и я, layout_behaviOr, а не layout_behavioUr.

Ответ 3

Примечание. Теперь версии изменились, поэтому замените ниже версии на самые последние.

Принятый ответ избавляется от ошибки в случае, если layout_behavior не требуется, однако если вы действительно хотите использовать:

app:layout_behavior="@string/appbar_scrolling_view_behavior"

Обязательно добавьте правильную зависимость в файл build.gradle вашего модуля:

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....
}

т.е. добавьте эту строку в свои зависимости:

compile 'com.android.support:design:23.1.0'

Ответ 4

Замените " app: layout_behavior =" @string/appbar_scrolling_view_behavior "на app: layout_behavior =" android.support.design.widget.AppBarLayout $ ScrollingViewBehavior "

Ответ 5

Для тех, кто использует AndroidX и не хочет добавлять старую библиотеку:

com.android.support:design:28.0.0

Вы можете добавить вместо этого:

implementation 'com.google.android.material:material:1.0.0'

и используйте это так:

app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"

Ответ 6

для тех, кто использует AndroidX

com.android.support:design is now moved to com.google.android.material

вам нужно будет включить это

implementation 'com.google.android.material:material:1.1.0-alpha02' 

Ответ 7

Я использую Androidx, поэтому я реализовал implementation 'com.google.android.material:material:1.1.0-alpha05'

но это все еще дает мне ошибку Unresolved class @string/appbar_scrolling_view_behavior

так что я нашел только недействительные кэши/перезапустить

Самый быстрый способ сделать это - File → Invalidate caches/Restart... → Just Restart.

Я надеюсь, что это поможет вам.

Примечание. В Android Studio v3.4 отображается app:layout_behavior="@string/appbar_scrolling_view_behavior" Неразрешенный класс @string/appbar_scrolling_view_behavior но работает при запуске приложения.

Ответ 8

У меня есть эта проблема. и я решил проблему с шагами буксировки. 1- Загрузите последнюю версию пакета AndroidSupportLibrary и пакета AndroidSupportRepository (или обновите их до последней версии) в SDKTools менеджера android sdk. 2- Изменение поддержки depenedencies ind build.gradle fiel для

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.+'

Ответ 9

Добавить компиляцию com.android.support:design:23.0.1 в ваши зависимости build.gradle.

Ответ 10

Ответ AgentKnopf "Обязательно добавьте правильную зависимость к файлу build.gradle вашего модуля", то я бы добавил, вы также убедитесь, что модуль такой же, как и ваша текущая версия: compile 'com.android.support:design: 25.3.1.0 если вы не используете компиляцию 'com.android.support:design **: 23.1.0 **'

Ответ 11

Теперь Google требует цель выше 26, поэтому вы не можете использовать

compile 'com.android.support:design:23.0.1'

Просто в моем случае кто-то другой пришел из Google и совершил ту же ошибку, что и я,

layout_behaviOr

не

layout_behaviOr

лол: D

Ответ 12

если вы еще не добавили материал для Android, сначала добавьте эту строку в ваши зависимости в файле build.gradle

implementation 'com.google.android.material:material:1.0.0'

затем используйте этот атрибут вместо

app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior"

Ответ 13

просто удалите эту строку из вашего дизайна XML

app:layout_behavior="@string/appbar_scrolling_view_behavior"

Ответ 14

compile 'com.android.support:design:23.0.1'

это решение для меня