Android提供了多种方法来设置菜单栏颜色,如通过style.xml文件设置主题和颜色、使用ActionBar等。下面将介绍三种实现方法。
方法一:通过Style.xml文件设置主题和颜色
在Android Studio中打开res/values/styles.xml文件,找到AppTheme节,添加以下代码:
```xml
```
colorPrimary、colorPrimaryDark和colorAccent分别对应ActionBar的背景颜色、状态栏的颜色和强调颜色。
在res/values/colors.xml文件中定义菜单栏颜色:
```xml
```
方法二:使用ActionBar
在Activity或Fragment中添加以下代码:
```java
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
// 这里设置ActionBar的背景颜色
getActionBar().setBackgroundDrawable(new ColorDrawable(Color.GREEN));
return true;
}
```
这里使用了ColorDrawable类来表示背景颜色。
方法三:使用Toolbar
Toolbar是支持自定义的action bar。在布局文件中添加Toolbar控件:
```xml
android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/colorPrimaryDark" android:minHeight="?attr/actionBarSize" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"> android:id="@+id/toolbar_image" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher"/> android:id="@+id/toolbar_title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Toolbar" android:textColor="@color/white" android:textSize="22sp"/>
```
在Activity或Fragment中添加以下代码:
```java
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
toolbar.setBackgroundColor(getResources().getColor(R.color.colorAccent));
```
setSupportActionBar()方法设置ActionBar为Toolbar。调用setBackgroundColor()方法设置背景颜色。
总结:
以上三种方法是设置菜单栏颜色的常用方法。其中第一种是修改主题和颜色,最常用;第二种和第三种可以使用Java代码更加灵活地控制菜单栏的外观,后者可以使用Toolbar来自定义ActionBar。