ライブラリを追加しようとするまで、アプリケーションは正常に機能しました。ライブラリを追加した後、Android Studioから次のエラーが表示されます。
エラー:(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:1.3.0@aar'
compile 'com.ogaclejapan.smarttablayout:library:1.3.0@aar'
compile 'com.jpardogo.materialtabstrip:library:1.1.0'
// compile 'com.lorentzos.swipecards:library:1.0.9@aar'
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"/>
私は次を試しました:
ただし、エラーは引き続き発生します。どうすれば解決できますか?
その文字列リソースは、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での実装とコンパイルの違いは何ですか
他の誰かがGoogleから来て、私と同じ間違いをした場合に備えて、それはlayout_behaviOr
ではなくlayout_behavioUr
です。
注:バージョンは現在変更されているため、以下のバージョンを最新のものに置き換えてください。
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'
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"
"app:layout_behavior =" @ string/appbar_scrolling_view_behavior "をapp:layout_behavior =" Android.support.design.widget.AppBarLayout $ ScrollingViewBehavior "に置き換えます
androidXを使用している場合
com.Android.support:design is now moved to com.google.Android.material
これを含める必要があります
implementation 'com.google.Android.material:material:1.1.0-alpha02'
私はAndroidxを使用しているので、implementation 'com.google.Android.material:material:1.1.0-alpha05'
を実装しました
それでもエラーUnresolved class @string/appbar_scrolling_view_behavior
が表示される
だから私はちょうどキャッシュを無効にする/再起動を見つけました
最も簡単な方法は、ファイル→キャッシュの無効化/再起動...→再起動のみです。
それがあなたを助けることを願っています。
注: Android Studio v3.4ではapp:layout_behavior="@string/appbar_scrolling_view_behavior"
未解決クラス@string/appbar_scrolling_view_behavior
を表示しますが、アプリを実行すると機能します。
Androidマテリアルをまだ追加していない場合、最初にbuild.gradleファイルの依存関係にこの行を追加します
implementation 'com.google.Android.material:material:1.0.0'
次に、この属性を代わりに使用します
app:layout_behavior="com.google.Android.material.appbar.AppBarLayout$ScrollingViewBehavior"
この問題があります。そして、私は牽引手順に関する私の問題を解決しました。 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.+'
Compile com.Android.support:design:23.0.1
をbuild.gradle
依存関係に追加します。
AgentKnopf Answer 「モジュールのbuild.gradleファイルに適切な依存関係を追加してください」を追加します。また、モジュールが次のように現在のバージョンと同じであることを確認します。 com.Android.support:design:25.3.1.0compile 'com.Android.support:design**:23.1.0*を使用していない場合* '