web-dev-qa-db-ja.com

CollapsingToolbarLayoutのapp:layout_scrollflagsのリソースIDが見つかりません

この質問のタイトルは基本的にすべてを言っています。エラーが表示されます:CollapsingToolbarLayoutのapp:layout_scrollflagsのリソース識別子が見つかりません。 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

32
DennisVA

デザインライブラリjarファイルをインポートするだけでは不十分です。 Android-design-libraryプロジェクトのリソースをインポートする必要がありますが、jarファイルにはクラスファイルのみが含まれます。

私が言う通りにやれ:

  1. import Android-design-libraryプロジェクト。プロジェクトは「sdk/extras/Android/support/design /」にあります。そうでない場合は、ライブラリプロジェクトとして設定します。
  2. 上記のプロジェクトをライブラリとしてメインプロジェクトにインポートします。

あなたはこれをしなければなりません、なぜならxmlns:app="http://schemas.Android.com/apk/res-auto"は、ライブラリプロジェクトまたは現在のプロジェクトのローカルリソースが必要であることを意味します。この場合、Android-design-libraryのライブラリプロジェクトのリソースが必要です。

27
SilentKnight

これを試して

アプリレベルの追加build.gradle

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

その後ビルド-> プロジェクトの再構築

28
A.G.THAMAYS

他の人が述べているように、あなたは間違いなく追加する必要があります Design Support Library 依存関係をAndroid app。最も簡単な方法は以下をappレベルのgradleファイルに追加することです

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

ただし、注意すべき点がいくつかあります。

  1. このサポートライブラリでは、compileSdkVersionとは異なるバージョンを使用しないでください。私はcompileSdkVersion 25を使用していたので、compile 'com.Android.support:design:25.3.1'ではなくcompile 'com.Android.support:design:24.2.1'を使用する必要がありました
  2. デザインライブラリを使用するには、theme.appcompatまたは子孫を使用する必要があります。アクティビティにアクションバーを追加する場合、テーマはAppCompatになります。私の場合、Android:Theme.Materialを使用していたため、失敗していました。 Theme.AppCompat.Light.NoActionBarに変更するとうまくいきました。
4
Aniket Thakur

このコードをxmlファイルに追加してみてください。

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

ここに私がやった方法があります

  1. インポートAppCompat V7 from *

C:\ Productivity\Android-sdks\extras\Android\support\v7\appcompat

およびワークスペースへのコピーをチェックプロジェクトのインポートダイアログボックスで。

  1. ターゲットAndroid apcompatのビルドバージョンAndroid 6.0から

プロジェクト->プロパティ-> Android

すべてのコンパイルエラーを削除する必要があります。

  1. インポートDesign Lib from

C:\ Productivity\Android-sdks\extras\Android\support\design

同じ手順に従って、1と2で述べたプロジェクトをインポートします。

  1. インポートしたデザインライブラリをAndroid libとしてマークし、エラーが表示される場合は、AppCompat V7 libをデザインライブラリのビルドパスに追加します。

プロジェクト->プロパティ-> Android。

  1. 最後に、デザインとappcompatを追加してYour Androidプロジェクトのパスをビルドします

    プロジェクト->プロパティ-> Android

Android 6.0を使用してプロジェクトをクリーンおよびビルドします。すべてのコンパイルエラーは今すぐ解消されなければなりません。

おめでとうございます、Eclipseでマテリアルデザインを使用できます。誰かに役立つことを願っています

1
Hitesh Sahu

そのためには、このタイプのレイアウト階層を使用する必要があります。 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

AndroidX を使用している場合、上記のソリューションは機能しません。

ここに私がこれを解決した方法があります:

  • これを実装する必要があります

    implementation 'com.google.Android.material:material:1.1.0-alpha06'
    
  • たぶん、あなたはInvalidate Caches/Restartこれがあなたのために働くために:

ファイル>キャッシュの無効化/再起動

詳細については、 AndroidXページへの移行 を確認してください。

1
Tamir Abutbul

アプリレベルのbuild.gradleを追加する

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

バージョンはcompileSdkVersionと一致する必要があります。バージョン28を使用しました。

0
KAbhijeet21