Android 错误:错误:找不到与给定名称匹配的资源:attr 'buttonBarButtonStyle'
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/11573947/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
error: Error: No resource found that matches the given name: attr 'buttonBarButtonStyle'
提问by jerry
I write a theme in styles.xml file like below
我在styles.xml文件中写了一个主题,如下所示
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Root styles that vary by API level -->
<style name="FrameworkRoot.Theme" parent="Theme.Sherlock.Light.DarkActionBar">
<!-- API 11+ (compatibility) -->
<item name="buttonBarStyle">@style/Compat.ButtonBar</item>
<item name="buttonBarButtonStyle">@style/Compat.ButtonBarButton</item>
<item name="indeterminateProgressStyle">@style/Compat.IndeterminateProgress</item>
<!-- API 14+ (compatibility) -->
<item name="listPreferredItemPaddingLeft">@dimen/compat_list_preferred_item_padding_left</item>
<item name="listPreferredItemPaddingRight">@dimen/compat_list_preferred_item_padding_right</item>
<item name="listPreferredItemHeightSmall">@dimen/compat_list_preferred_item_height_small</item>
</style>
but get the error: Error: No resource found that matches the given name: attr 'buttonBarStyle'.
但得到错误:错误:找不到与给定名称匹配的资源:attr 'buttonBarStyle'。
I get the code from the google io2012. Both mine and its' all base
我从谷歌 io2012 得到代码。我的和它的所有基地
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
I can compile the google io2012's source code but not mine. so strange. is anybody know why? or have the same question?
我可以编译 google io2012 的源代码,但不能编译我的。这么奇怪。有人知道为什么吗?或者有同样的问题?
采纳答案by Erol
buttonBarStyle
is for versions 11 and above as you state in your SDK but you are using android:minSdkVersion="8"
. Isn't it supposed to work for android:minSdkVersion="11"
?
buttonBarStyle
适用于您在 SDK 中声明的版本 11 及更高版本,但您使用的是android:minSdkVersion="8"
. 不是应该为它工作android:minSdkVersion="11"
吗?
回答by Alan
I had a similar problem... I have two projects in my Eclipse workspace, both based on the Android 4.2 jar. One has minSdkVersion="8" with targetSdkVersion="17" and its style references both the buttonBarStyle
and buttonBarButtonStyle
names just fine. The other project uses the same manifest settings and will not build due to the errors:
我有一个类似的问题......我的 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'.
When I saw @dead's
comment about needing an attrs.xml
file, I checked and sure enough, the project that wouldn't compile was missing this file. I think the working project was generated using the Eclipse Android Application Project wizard, while the other was created manually.
当我看到@dead's
关于需要一个attrs.xml
文件的评论时,我检查了一下,果然,无法编译的项目缺少这个文件。我认为工作项目是使用 Eclipse Android 应用程序项目向导生成的,而另一个是手动创建的。
The contents of res/values/attrs.xml
:
内容res/values/attrs.xml
:
<resources>
<!--
Declare custom theme attributes that allow changing which styles are
used for button bars depending on the API level.
?android:attr/buttonBarStyle is new as of API 11 so this is
necessary to support previous API levels.
-->
<declare-styleable name="ButtonBarContainerTheme">
<attr name="buttonBarStyle" format="reference" />
<attr name="buttonBarButtonStyle" format="reference" />
</declare-styleable>
</resources>
The contents of res/values/colors.xml:
的内容 res/values/colors.xml:
<resources>
<color name="black_overlay">#66000000</color>
</resources>
And the three style files:
以及三个样式文件:
1) res/values/styles.xml
1) res/values/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level
can go here. -->
</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
2) res/values-v11/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!--
Base application theme for API 11+. This theme completely replaces
AppBaseTheme from res/values/styles.xml on API 11+ devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">
<!-- API 11 theme customizations can go here. -->
</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
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">
<!-- API 14 theme customizations can go here. -->
</style>
</resources>
回答by Sharan
Refer the below link. Add the values which are used in your code and delete the rest . Hope it helps you.
请参考以下链接。添加代码中使用的值并删除其余的值。希望对你有帮助。
回答by lifelogger
Make sure you have included the AppCompat . It is a library project. You need to reference the library project in your android project.
确保您已包含 AppCompat 。这是一个图书馆项目。您需要在您的 android 项目中引用库项目。
https://developer.android.com/tools/support-library/setup.html
https://developer.android.com/tools/support-library/setup.html
Check the topic Adding libraries with resources.
检查主题添加带有资源的库。
回答by Reza Hamzehei
Had the same problem as yours:
遇到和你一样的问题:
my build.gradle
file:
我的build.gradle
文件:
android {
compileSdkVersion 25
buildToolsVersion "27.0.1"
defaultConfig {
applicationId "com.whatever"
minSdkVersion 15
targetSdkVersion 25
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}}
what I did in my Values folder added a attrs.XML
file, with this codes in it:
我在 Values 文件夹中所做的添加了一个attrs.XML
文件,其中包含以下代码:
<declare-styleable name="ButtonBarContainerTheme">
<attr name="metaButtonBarStyle" format="reference" />
<attr name="metaButtonBarButtonStyle" format="reference" />
</declare-styleable>
now I see no complains!
现在我看不到任何抱怨!
回答by Zeeshan Zulfiqar
I was getting same error....deleted the folders at
我遇到了同样的错误......删除了文件夹
C:\Users\.android\build-cache\Hash Number of Folders E.g. 4eaccf0d162ec009b115c7e0ff4f542f8d2a663b\
C:\Users\.android\build-cache\Hash 文件夹数 例如 4eaccf0d162ec009b115c7e0ff4f542f8d2a663b\
and it worked like a charm....
它就像一个魅力......