需求:更改 ActionBar 右側 Overflow 菜單按鈕圖標、彈出菜單背景色。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Overflow 按鈕圖標 -->
<item name="actionOverflowButtonStyle">@style/OverflowButton</item>
<!-- 彈出菜單背景 -->
<item name="android:popupMenuStyle">@style/PopupMenu</item>
<item name="popupMenuStyle">@style/PopupMenu</item> <!-- AppCompat -->
</style>
<style name="OverflowButton" parent="Widget.AppCompat.ActionButton.Overflow">
<item name="android:src">@drawable/ic_custom_overflow</item>
</style>
<style name="PopupMenu" parent="Widget.AppCompat.PopupMenu.Overflow">
<item name="android:background">@color/colorPrimaryDark</item>
<item name="android:dropDownVerticalOffset">4dp</item>
</style>
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
// Activity 中
setSupportActionBar(toolbar);
Toolbar 可直接在佈局 XML 中放置圖標、標題、菜單,靈活性遠超 ActionBar。