我遇到了类似的问题。我的Eclipse工作区中有两个基于Android 4.2 jar的项目。一个项目的minSdkVersion="8",targetSdkVersion="17",其样式引用了buttonBarStyle
和buttonBarButtonStyle
名称,运行正常。另一个项目使用相同的清单设置,但由于以下错误而无法构建:
No resource found that matches the given name: attr 'buttonBarStyle'.
No resource found that matches the given name: attr 'buttonBarButtonStyle'.
当我看到 @dead
的评论需要一个 attrs.xml
文件时,我检查了一下,果然无法编译的项目确实缺少了这个文件。 我想工作正常的项目是使用 Eclipse Android 应用程序项目向导生成的,而另一个是手动创建的。
res/values/attrs.xml
的内容:
<resources>
<declare-styleable name="ButtonBarContainerTheme">
<attr name="buttonBarStyle" format="reference" />
<attr name="buttonBarButtonStyle" format="reference" />
</declare-styleable>
</resources>
res/values/colors.xml
的内容:
<resources>
<color name="black_overlay">#66000000</color>
</resources>
还有三个样式文件:
1)res/values/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppBaseTheme" parent="android:Theme.Light">
</style>
<style name="AppTheme" parent="AppBaseTheme">
</style>
<style name="ButtonBarButton" />
<style name="ButtonBar">
<item name="android:paddingLeft">2dp</item>
<item name="android:paddingTop">5dp</item>
<item name="android:paddingRight">2dp</item>
<item name="android:paddingBottom">0dp</item>
<item name="android:background">@android:drawable/bottom_bar</item>
</style>
<style name="FullscreenTheme" parent="android:Theme.NoTitleBar">
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowBackground">@null</item>
<item name="buttonBarStyle">@style/ButtonBar</item>
<item name="buttonBarButtonStyle">@style/ButtonBarButton</item>
</style>
<style name="ContentText">
<item name="android:textColor">#0000ff</item>
<item name="android:textSize">50sp</item>
<item name="android:textStyle">bold</item>
</style>
</resources>
2)res/values-v11/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
</style>
<style name="FullscreenActionBarStyle" parent="android:Widget.Holo.ActionBar">
<item name="android:background">@color/black_overlay</item>
</style>
<style name="FullscreenTheme" parent="android:Theme.Holo">
<item name="android:actionBarStyle">@style/FullscreenActionBarStyle</item>
<item name="android:windowActionBarOverlay">true</item>
<item name="android:windowBackground">@null</item>
<item name="buttonBarStyle">?android:attr/buttonBarStyle</item>
<item name="buttonBarButtonStyle">?android:attr/buttonBarButtonStyle</item>
</style>
</resources>
3) res/values-v14/styles.xml
<resources>
<!
Base application theme for API 14+. This theme completely replaces
AppBaseTheme from BOTH res/values/styles.xml and
res/values-v11/styles.xml on API 14+ devices.
<style name="AppBaseTheme" parent="android:Theme.Holo.Light.DarkActionBar">
<!
</style>
</resources>