我创建了一个针对L预览的新项目。 sdk生成的启动器活动扩展了ActionBarActivity,但是,当我尝试运行裸骨生成的活动时,它会抛出以下异常:
Caused by: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
at android.support.v7.app.ActionBarActivityDelegate.onCreate(ActionBarActivityDelegate.java:110)
at android.support.v7.app.ActionBarActivityDelegateICS.onCreate(ActionBarActivityDelegateICS.java:57)
at android.support.v7.app.ActionBarActivity.onCreate(ActionBarActivity.java:99)
我环顾四周,但Theme.AppCompat.Material
似乎不存在。如何使ActionBarActivity利用新的Material主题?
我的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 'android-L'
buildToolsVersion '20.0.0'
defaultConfig {
applicationId 'com.sdchang.example'
minSdkVersion 'L'
targetSdkVersion 'L'
versionCode 1
versionName '1.0'
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.+'
compile 'com.mcxiaoke.volley:library:1.0.+@aar'
compile 'com.google.code.gson:gson:2.2.+'
compile 'com.squareup.okhttp:okhttp:2.0.+'
}
答案 0 :(得分:54)
AppCompat v21。+ Theme.AppCompat
扩展Theme.Base.AppCompat
扩展Theme.Platform.AppCompat
,扩展android:Theme.Material
21个设备(即Android L)设备,因此您不应该如果您正在使用AppCompat,则必须执行任何特定的操作以获取Material
主题。
答案 1 :(得分:3)
您需要将构建gradle中的依赖项更改为
compile 'com.android.support:appcompat-v7:21.+'
答案 2 :(得分:-1)
使用以下主题:
android:theme="@style/Base.V7.Theme.AppCompat" >