新手正在学习 Android 编程,今天学到自定义主题的内容。但是发现无论如何,主题都没有发生变化。例如,我要修改 ActionBar 的颜色,代码如下:
<resources>
<style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyActionBar</item>
</style>
<style name="MyActionBar" parent="@style/Widget.AppCompat.ActionBar">
<item name="android:background">#999999</item>
</style>
</resources>
结果 ActionBar 的背景颜色并没有改变。设置其他自定义主题也没用。后来通过代码修改:
ActionBar actionBar = getActionBar();
actionBar.setBackgroundDrawable(new ColorDrawable(0xadf1b1ff));
然而也没有效果。我在 Ubuntu 下用的 Android Studio 1.2.2 版本,最低编译版本 4.1,目标编译版本 5.1,不知道怎么会这样,望高手解答。
自己来答一下,在其他地方找到了解决办法:
就是属性前绝对不能有 android: 这个东西,我一把这个东西去掉,自定义主题就生效了。
android: 这个是 Android Studio 自动添加上的,要手动去掉。
问题是解决了,但还是不知道原因是什么,望高手解答。