当我尝试通过
更改ActionBar的颜色时,我的应用程序中发生了一些奇怪的事情<style name="CustomAppTheme" parent="Theme.AppCompat.Light">
<item name="android:background">#ff00</item>
<item name="android:textColor">#DCDCDC</item>
</style>
也会更改我的ListView的颜色,而其他活动会更改下面的整个内容。这是为什么?如何解决这个问题?
的ListView:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/listviewbackground"
android:orientation="vertical" >
<ListView
android:id="@+id/list"
android:longClickable="true"
android:layout_height="wrap_content"
android:layout_width="match_parent">
</ListView>
答案 0 :(得分:1)
在覆盖default color & styles of the action bar时,文档非常简单。我假设您可能正在 res / values / styles.xml 更改应用程序的资源样式文件。我还假设在您的 AndroidManifest.xml 中,您将以下属性应用于application
标记:
android:theme="@style/AppTheme"
再次,来自documentation:
样式是一组属性,用于指定视图或窗口的外观和格式。样式可以指定高度,填充,字体颜色,字体大小,背景颜色等属性。样式在XML资源中定义,该XML资源与指定布局的XML分开。
因此,当您更改 styles.xml 文件时,您无意中更改了应用中所有元素的背景颜色。
按照link 1的说明进行操作,您将会感觉良好。具体地,
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@drawable/actionbar_background</item>
</style>
</resources>