情况:
我目前正在为Android L构建我的应用程序的新版本,并且还在进行Chromecast集成。 该应用程序工作正常,只要我使用自定义样式扩展Theme.Material,但不显示Cast按钮。
问题:
一旦我改为Theme.AppCompat,它就会给我错误:
Error:Error retrieving parent for item: No resource found that matches the given name '@android:style/Theme.AppCompat.Light.DarkActionBar'.
同样适用于Holo主题。
这是我的 build.gradle (libs文件夹是空的btw。):
apply plugin: 'com.android.application'
android {
compileSdkVersion 'android-L'
buildToolsVersion "20.0.0"
defaultConfig {
applicationId "com.myapp.myapp"
minSdkVersion 'android-L'
targetSdkVersion 'android-L'
versionCode 1
versionName "1.0"
}
buildTypes {
release {
runProguard false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
// You must install or update the Support Repository through the SDK manager to use this dependency.
compile 'com.android.support:appcompat-v7:+'
compile 'com.android.support:support-v4:+'
compile 'com.android.support:cardview-v7:+'
compile 'com.android.support:mediarouter-v7:+'
compile 'com.google.android.gms:play-services:+'
}
以下是 values / styles.xml 的相关部分:
<style name="SK" parent="android:Theme.AppCompat.Light.DarkActionBar">
用于处理Theme.Holo.Light.DarkActionBar
和 values-v21 / styles.xml :
<style name="SK" parent="@android:style/Theme.AppCompat.Light.DarkActionBar">
用于与Theme.Material.Light.DarkActionBar
一起推卸我已经清理并重建了该项目,但它总是会向我显示有关失踪父级的错误。 至于我可以从类似的问题收集,所有相关的库都包括在内,并且都使用最新的版本。 我也尝试手动将库添加到libs /文件夹,但没有成功。 我的SDK管理器显示所有内容都已安装并且是最新的。
我在这里缺少什么? 提前感谢您的时间。
答案 0 :(得分:0)
<强>解决方案:强>
实际上相当简单。我将Theme.AppCompat与android命名空间一起引用,但是应该把它留下来,所以,而不是
@android:style/Theme.AppCompat
应该是
@style/Theme.AppCompat
这确实显示了另一个错误,关于&#34;主题&#34;没有找到,但它编译得更少。