我是Android ActionBar
的新手。目前我正在尝试在ActionBar
区域创建菜单,但它总是以黑色显示。任何人都可以帮我改变ActionBar
的背景颜色吗?
在这里,我附上我的作品请看看,
的themes.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
parent="Theme.AppCompat">
<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">@color/actionbar_background</item>
</style>
</resources>
MainActivity.java
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ThemeUtil.onActivityCreateSetTheme(this);
setContentView(R.layout.activity_main);
}
color.xml
<color name="actionbar_background">#008080</color>
的manifest.xml
android:theme="@style/CustomActionBarTheme" >
答案 0 :(得分:2)
ActionBarActivity
,您应该使用AppCompatActivity
。
如果清单文件中CustomActionBarTheme
设置为android:theme
,则无需使用ThemeUtil
。从MainActivity
中删除它。然后,重新编写styles.xml
,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme" parent="Theme.AppCompat">
<item name="colorPrimaryDark">/*This will tint the status bar on lollipop devices*/</item>
<item name="colorPrimary">@color/actionbar_background</item>
</style>
</resources>
只要您的样式扩展Theme.AppCompat.*
,colorPrimary
就会自动设置ActionBar颜色。在Lolllipop设备上,colorPrimaryDark
设置状态栏颜色。 accent
设置某些小部件项的颜色。