Нет идентификатора ресурса для приложения: layout_scrollflags из CollapsingToolbarLayout
Название этого вопроса в основном говорит обо всем. Я получаю сообщение об ошибке:
идентификатор ресурса не найден для приложения: layout_scrollflags из CollapsingToolbarLayout. Я использую eclipse и импортировал jar файл библиотеки дизайна. Я могу использовать макеты поддержки дизайна в своих классах, чтобы правильно
это часть кода, который я использую:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/activityBg"
tools:context=".MainActivity"
>
<android.support.design.widget.AppBarLayout
android:layout_height="wrap_content"
android:layout_width="match_parent">
<android.support.design.widget.CollapsingToolbarLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<include
layout="@layout/toolbar"/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
Примеры: http://android-developers.blogspot.in/2015/05/android-design-support-library.html
Ответы
Ответ 1
только импортировать файл библиотеки java библиотеки дизайна недостаточно. Вам нужно импортировать ресурс проекта android-design-library, в то время как файл jar содержит только файлы классов.
Сделайте, как я говорю:
- import проект андроида-дизайн-библиотеки. Проект находится в
" SDK/дополнения/Android/поддержка/дизайн/". И установите его как библиотеку
если это не так.
- импортируйте указанный проект в ваш основной проект в виде библиотеки.
Вы должны это сделать, потому что xmlns:app="http://schemas.android.com/apk/res-auto"
означает, что вам нужны локальные ресурсы из проекта библиотеки или текущего проекта, в этом случае это означает, что вам нужны ресурсы из проекта библиотеки android-design-library.
Ответ 2
попробуйте это
добавить уровень приложения build.gradle
compile 'com.android.support:design:24.2.1'
затем Создать → Перестроить проект
Ответ 3
Как утверждали другие, вам определенно нужно добавить Design Support Library в зависимости от вашего приложения для Android. Самый простой способ - добавить следующий к файлу уровня приложения gradle -
compile 'com.android.support:design:25.3.1'
Однако несколько замечаний -
- Эта библиотека поддержки не должна использовать другую версию, чем compileSdkVersion. Поскольку я использовал
compileSdkVersion 25
, мне пришлось использовать compile 'com.android.support:design:25.3.1'
, а не compile 'com.android.support:design:24.2.1'
- Использование библиотеки дизайна требует использования theme.appcompat или потомка. Если вы хотите добавить панель действий в свою деятельность, то ваша тема должна быть AppCompat. В моем случае я использовал
android:Theme.Material
, из-за которого он терпел неудачу. Смена меня на Theme.AppCompat.Light.NoActionBar
работала для меня.
Ответ 4
Для этого вы должны использовать этот тип иерархии макетов.
Убедитесь, что библиотека поддержки дизайна включена в качестве эталонного проекта в случае eclipse
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true" >
<android.support.design.widget.AppBarLayout
android:id="@+id/appbarlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true" >
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginEnd="64dp"
app:expandedTitleMarginStart="48dp" >
<ImageView
android:id="@+id/ivProfileImage"
android:layout_width="match_parent"
android:layout_height="250dp"
app:layout_collapseMode="parallax"
android:contentDescription="@null"
android:fitsSystemWindows="true"
android:minHeight="100dp"
android:scaleType="fitXY" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/toolbar"
android:layout_gravity="fill_vertical"
app:layout_anchorGravity="top|start"
app:layout_behavior="@string/appbar_scrolling_view_behavior" >
</android.support.v4.widget.NestedScrollView>
Ответ 5
Вот как я сделал
- Импортировать AppCompat V7 из *
C:\Работа\андроид-SDKs\Extras\Android\поддержка\v7\AppCompat
и Проверить копию в рабочей области в диалоговом окне проекта импорта.
- Целевая Android версия для Android apcompat для Android 6.0
Project- > свойства- > Android
он должен удалить всю ошибку компиляции.
- Импортировать Design Lib из
C:\Работа\андроид-SDKs\Extras\Android\поддержка\дизайн
выполните те же шаги для импорта проекта, указанного в 1 и 2.
- Отметьте импортированный дизайн lib как Android lib и если он покажет ошибку Добавить AppCompat V7 lib в путь сборки вашего дизайна lib из
Project- > свойства- > Android.
-
Наконец, добавьте дизайн и appcompat для создания пути к проекту Android
Project- > свойства- > Android
очистите и создайте свой проект с Android 6.0, все ошибки компиляции должны быть удалены.
Поздравляем теперь вы можете использовать конструкцию материалов в Eclipse. Надеюсь, что это поможет кому-то
Ответ 6
Попробуйте добавить этот код в XML файл:
app:layout_behavior="android.support.design.widget.AppBarLayout$ScrollingViewBehavior"
Ответ 7
Добавить уровень приложения build.gradle
implementation 'com.android.support:design:28.0.0'
версия должна соответствовать вашему compileSdkVersion. Я использовал версию 28.