ActionBarActivityを拡張しようとするとき、AppCompatテーマ(Theme.AppCompat.Light)を使用する必要があります。マニフェストとstyles.xmlに追加しようとすると、
エラー:(31、28)指定された名前に一致するリソースが見つかりません( 'theme'にあり、値は '@Android:style/Theme.AppCompat.Light'です)。
Eventhoughは、サポートライブラリをダウンロードし、これを私のbuild.gradleファイルに含めました->
dependencies {
compile 'com.Android.support:appcompat-v7:19.0.+'
compile 'com.Android.support:support-v4:19.0.+'}
Android Studioでは、Android:theme='@Android:style/Theme.AppCompat.Light
を使用するときに同じエラーが発生しましたが、AndroidManifest.xmlファイル内でAndroid:theme="@style/Theme.AppCompat.Light"
を使用すると、エラーが発生しなくなりました。
違いは、Androidシステム全体で提供されるテーマ "@Android"から、ローカルで定義されたテーマ "@style"への参照によるものです。ローカルで定義されたテーマを使用すると、gradleが定義されているため機能しますローカルテーマとしてインポートされるappcompatライブラリcompile 'com.Android.support:appcompat-v7:19.0.+'
への依存関係。
参考までに、Android開発者がAndroidデバイス2.1+にアクションバーを追加することに関する開発者は、使用するように指示しています:Android:theme="@style/Theme.AppCompat.Light"
https://developer.Android.com/training/basics/actionbar/setting-up.html
Android Studio、Eclipseとは異なる:
アプリケーションのbuild.gradleファイルを開きます。
次の例に示すように、appcompatプロジェクトをインクルードし、コンパイル「com.Android.support:appcompat-v7:18.0.+」を依存関係セクションに追加します。
依存関係{...コンパイル "com.Android.support:appcompat-v7:18.0.+"}
私のメモ:styles.xmlで、Androidへの参照を次のように削除します。
スタイル名= "AppTheme" parent = "Theme.AppCompat.Light"
ファイルメニューのキャッシュの無効化/再起動は常に私のために仕事をします
AppCompat.Theme.Lightの代わりにTheme.AppCompat.Lightを使用します
何が起こっているかというと、そのスタイルの原因となっている依存関係が認識されていないということです。
これらがある場合は、build.gradleから削除してください。
'com.Android.support:appcompat-v7:28.0.0'
'com.Android.support:design:28.0.0'
次に同期し、削除を元に戻し、もう一度同期します。