首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ActionBar 美化:修改 Overflow 菜單圖標與彈出菜單背景

     編輯:程式設計綜合問答

需求:更改 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>

進階:Toolbar 替代 ActionBar (推薦)

<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。

參考資源

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved