web-dev-qa-db-ja.com

パッケージ内の属性「layout_behavior」のリソース識別子が見つかりません

ライブラリを追加しようとするまで、アプリケーションは正常に機能しました。ライブラリを追加した後、Android St​​udioから次のエラーが表示されます。

エラー:(26)パッケージ 'inf ..'の属性 'layout_behavior'のリソース識別子が見つかりません

これは私の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"/>

私は次を試しました:

  • ライブラリを削除しました
  • Android St​​udioとコンピューターをリセットします
  • Gitから以前のバージョンのコードに戻しました。

ただし、エラーは引き続き発生します。どうすれば解決できますか?

45
user3421416

その文字列リソースは、Material Designサポートライブラリ内で定義されます。

Material DesignサポートライブラリのCoordinatorLayoutを使用していないため、app:layout_behavior属性を安全に削除できるはずです。他のコードから切り取って貼り付けたものと思われます。

注:実際にCoordinatorLayoutを使用しており、協調スクロール動作を機能させる場合は、Gradleビルドファイルに最新バージョンのMaterial Design Supportライブラリの依存関係を追加する必要があります。

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

更新:Gradleの最新バージョンでは、compile構成が廃止され、implementationおよびapi構成が優先されるため、依存関係は次のようになります。

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

これは単なる例です。これを読んだときにバージョン番号が古くなっている可能性があるため、使用するサポートライブラリのバージョンとバージョンが一致することを確認してください。

詳細情報: gradleでの実装とコンパイルの違いは何ですか

123
kris larson

他の誰かがGoogleから来て、私と同じ間違いをした場合に備えて、それはlayout_behaviOrではなくlayout_behavioUrです。

34
Julien

:バージョンは現在変更されているため、以下のバージョンを最新のものに置き換えてください。

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'
18
AgentKnopf

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"
12
Robert Pal

"app:layout_behavior =" @ string/appbar_scrolling_view_behavior "をapp:layout_behavior =" Android.support.design.widget.AppBarLayout $ ScrollingViewBehavior "に置き換えます

5
Dilip

androidXを使用している場合

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

これを含める必要があります

implementation 'com.google.Android.material:material:1.1.0-alpha02' 
5
Angel Koh

私はAndroidxを使用しているので、implementation 'com.google.Android.material:material:1.1.0-alpha05'を実装しました

それでもエラーUnresolved class @string/appbar_scrolling_view_behaviorが表示される

だから私はちょうどキャッシュを無効にする/再起動を見つけました

最も簡単な方法は、ファイル→キャッシュの無効化/再起動...→再起動のみです。

それがあなたを助けることを願っています。

注: Android St​​udio v3.4ではapp:layout_behavior="@string/appbar_scrolling_view_behavior"未解決クラス@string/appbar_scrolling_view_behaviorを表示しますが、アプリを実行すると機能します。

3
kdblue

Androidマテリアルをまだ追加していない場合、最初にbuild.gradleファイルの依存関係にこの行を追加します

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

次に、この属性を代わりに使用します

app:layout_behavior="com.google.Android.material.appbar.AppBarLayout$ScrollingViewBehavior"
1
Mr.Hosseini

この問題があります。そして、私は牽引手順に関する私の問題を解決しました。 1- Android sdk managerのSDKToolsで、AndroidSupportLibraryパッケージとAndroidSupportRepositoryパッケージの最新バージョンをダウンロード(またはそれらを最新バージョンにアップグレード)します。 2-サポートの依存関係を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.+'
1

Compile com.Android.support:design:23.0.1build.gradle依存関係に追加します。

0
user3648873

AgentKnopf Answer 「モジュールのbuild.gradleファイルに適切な依存関係を追加してください」を追加します。また、モジュールが次のように現在のバージョンと同じであることを確認します。 com.Android.support:design:25.3.1.0compile 'com.Android.support:design**:23.1.0*を使用していない場合* '

0
Joyce obi