以下のように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>
エラーが発生します:エラー:指定された名前に一致するリソースが見つかりません:attr 'buttonBarStyle'。
Google io2012からコードを取得します。私とそのすべての基地の両方
<uses-sdk
Android:minSdkVersion="8"
Android:targetSdkVersion="16" />
Google io2012のソースコードはコンパイルできますが、私のソースコードはコンパイルできません。とても奇妙。誰が理由を知っていますか?または同じ質問がありますか?
buttonBarStyle
は、SDKに記載されているバージョン11以降用ですが、Android:minSdkVersion="8"
。 Android:minSdkVersion="11"
?
同様の問題がありました... Eclipseワークスペースに2つのプロジェクトがあり、両方ともAndroid 4.2 jarに基づいています。1つは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's
ファイルの必要性に関するattrs.xml
コメントを見たとき、コンパイルできないプロジェクトにこのファイルが欠落していることを確認しました。作業中のプロジェクトはEclipse Android Application Projectウィザードを使用して生成され、もう一方は手動で作成されたと思います。
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>
res/values/colors.xml:
の内容
<resources>
<color name="black_overlay">#66000000</color>
</resources>
そして、3つのスタイルファイル:
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
<?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
<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>
以下のリンクを参照してください。コードで使用されている値を追加し、残りを削除します。お役に立てば幸いです。
同じエラーが発生していました...フォルダを削除しました
C:\ Users\.Android\build-cache\Hashフォルダーの数4eaccf0d162ec009b115c7e0ff4f542f8d2a663b \
そしてそれは魅力のように働いた....
あなたと同じ問題がありました:
俺の 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'
}
}}
valuesフォルダーで行ったことはattrs.XML
ファイル、次のコードを含む:
<declare-styleable name="ButtonBarContainerTheme">
<attr name="metaButtonBarStyle" format="reference" />
<attr name="metaButtonBarButtonStyle" format="reference" />
</declare-styleable>
今、私は文句を言わない!
AppCompatが含まれていることを確認してください。それは図書館プロジェクトです。 Androidプロジェクトでライブラリプロジェクトを参照する必要があります。
https://developer.Android.com/tools/support-library/setup.html
トピック「リソースを使用したライブラリの追加」を確認してください。