我试图更改Android应用的背景颜色,但我无法做到。我搜索过很多帖子,但没有解决方案解决了我的问题。
这里的mine styles.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">#ff0000</item>
</style>
</resources>
正如您所看到的,我只想将条形设置为红色。 这是我的清单:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MenuActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
正如您所见,主题已正确设置。所以你可以看到,这是我的傻瓜:
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:21.0.3'
}
所以,即使这看起来不错,也没有将我的ActionBar设置为红色。我试过跟随很多指南(包括官方指南),并按照他们的说法做了一切。我错过了什么?感谢您提前耐心:)
答案 0 :(得分:8)
由于您使用的是AppCompat
库,因此您应该处理较旧的Android版本(就像使用ActionBarSherlock
库时一样):
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/ActionBar</item>
<item name="actionBarStyle">@style/ActionBar</item>
</style>
<style name="ActionBar" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@android:color/red</item>
<item name="background">@android:color/red</item>
</style>
</resources>
没有android命名空间的项目用于设置旧版Android上使用的appcompat操作栏。
有关详细信息,请参阅this answer。
您还应检查,您可能为各种屏幕尺寸和sdk版本生成了更多styles.xml
个文件。
您可能还希望将ActionBar
样式声明添加到这些其他样式中:看起来您的测试设备使用的是其他样式,而不是默认设置。
答案 1 :(得分:0)
<style name="Demo_Theme" parent="Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/actionBG</item>
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/actionBG</item>
</style>
<style name="actionBG" parent="Widget.AppCompat.Light.ActionBar">
<item name="android:background">@color/test_bg_color</item>
<!-- Support library compatibility -->
<item name="background">@color/test_bg_color</item>
</style>
这应该可以正常工作。