web-dev-qa-db-fra.com

aucun identifiant de ressource trouvé pour l'application: layout_scrollflags from CollapsingToolbarLayout

Le titre de cette question dit tout simplement. J'obtiens l'erreur: aucun identifiant de ressource trouvé pour l'application: layout_scrollflags de CollapsingToolbarLayout. J'utilise Eclipse et j'ai importé le fichier jar de la bibliothèque de conception. Je suis en mesure d'utiliser les mises en page de support de conception dans mes classes, donc c'est correct

c'est un morceau du code que j'utilise:

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

exemples: http://Android-developers.blogspot.in/2015/05/Android-design-support-library.html

32
DennisVA

il ne suffit pas d'importer le fichier jar de la bibliothèque de conception. Vous devez importer la ressource du projet Android-design-library alors que le fichier jar ne contient que des fichiers de classe.

Fais ce que je dis:

  1. import Android-design-library projet. Le projet est à "sdk/extras/Android/support/design /". Et définissez-le comme un projet de bibliothèque s'il ne l'est pas.
  2. importer le projet ci-dessus dans votre projet principal en tant que bibliothèque.

Vous devez le faire, car xmlns:app="http://schemas.Android.com/apk/res-auto" signifie que vous avez besoin de ressources locales de votre projet de bibliothèque ou du projet en cours, dans ce cas, cela signifie que vous avez besoin de ressources du projet de bibliothèque de Android-design-library.

27
SilentKnight

essaye ça

ajouter le niveau d'application build.gradle

    compile 'com.Android.support:design:24.2.1'

alors Build -> Rebuild Project

28
A.G.THAMAYS

Comme d'autres l'ont déclaré, vous devez absolument ajouter Design Support Library dépendance à votre Android application. La façon la plus simple est d'ajouter le suivant au fichier de niveau de l'application -

compile 'com.Android.support:design:25.3.1'

Cependant quelques points à noter-

  1. Cette bibliothèque de support ne doit pas utiliser une version différente de celle de compileSdkVersion. Depuis que j'utilisais compileSdkVersion 25 J'ai dû utiliser compile 'com.Android.support:design:25.3.1' et pas compile 'com.Android.support:design:24.2.1'
  2. L'utilisation de la bibliothèque de conception nécessite l'utilisation de theme.appcompat ou d'un descendant. Si vous souhaitez ajouter une barre d'action à votre activité, votre thème doit être compatible avec AppCompat. Dans mon cas, j'utilisais Android:Theme.Material à cause duquel il échouait. Le changer en Theme.AppCompat.Light.NoActionBar a fonctionné pour moi.
4
Aniket Thakur

Essayez d'ajouter ce code au fichier xml:

app:layout_behavior="Android.support.design.widget.AppBarLayout$ScrollingViewBehavior"
1

Voici comment j'ai fait

  1. Importer AppCompat V7 à partir de *

C:\Productivité\Android-sdks\extras\Android\support\v7\appcompat

et Vérifier la copie dans l'espace de travail dans la boîte de dialogue d'importation de projet.

  1. Cibler Android Créer une version de apcompat à Android 6.0 à partir de

Projet-> Propriétés-> Android

il devrait supprimer toute erreur de compilation.

  1. Importer Design Lib de

C:\Productivité\Android-sdks\extras\Android\support\design

suivez les mêmes étapes pour importer le projet mentionné dans 1 & 2.

  1. Marquez la bibliothèque de conception importée comme Android lib et si elle affiche une erreur, ajoutez la bibliothèque AppCompat V7 dans le chemin de génération de votre bibliothèque de conception à partir de

Projet-> Propriétés-> Android.

  1. Enfin, ajoutez la conception et la compatibilité avec les applications pour créer le chemin de votre projet Android

    Projet-> Propriétés-> Android

nettoyez et construisez votre projet avec Android 6.0 toutes les erreurs de compilation doivent avoir disparu maintenant.

Félicitations, vous pouvez maintenant utiliser la conception de matériaux dans Eclipse. J'espère que cela aidera quelqu'un

1
Hitesh Sahu

Pour cela, vous devez utiliser ce type de hiérarchie de mises en page. Assurez-vous que la bibliothèque de support de conception est incluse en tant que projet de référence dans le cas d'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>
1
Gopal Singh Sirvi

Si vous utilisez AndroidX les solutions ci-dessus ne fonctionneront pas.

Voici comment j'ai résolu cela:

  • Vous devez implémenter cela

    implementation 'com.google.Android.material:material:1.1.0-alpha06'
    
  • Vous devrez peut-être Invalidate Caches/Restart pour que cela fonctionne pour vous:

Fichier> Invalider les caches/redémarrer

Pour plus d'informations, consultez la page Migration vers AndroidX .

1
Tamir Abutbul

Ajouter un niveau d'application build.gradle

implementation 'com.Android.support:design:28.0.0'

la version doit correspondre à votre version compileSdk. J'ai utilisé la version 28.

0
KAbhijeet21