Идентификатор ресурса не найден для атрибута '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.
Однако ошибка сохраняется. Как это разрешить?
Ответы
Ответ 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'
это решение для меня