1. 程式人生 > >Android問題集錦:actionbar的overflow彈出menu在ActionBar上方問題解決

Android問題集錦:actionbar的overflow彈出menu在ActionBar上方問題解決

原先,Android 5.0以前,點選ActionBar中的更多按鈕“:”,彈出的Overflow選單在ActionBar下方,而最新的5.0,5.1,Overflow選單會出現在ActionBar上方,那麼如何將最新的Overflow選單還原到以前呢,下面是解決方法:

前提條件:專案已引用appcompat-v7庫,向後相容,建立專案時,eclipse自動生成
  1. 開啟res/values/styles.xml檔案,輸入以下內容

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="actionOverflowMenuStyle">@style/OverflowMenu</item>
    </style>

    <style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow">
        <!-- 相容Api 21之前的版本 -->
        <item name="overlapAnchor">false</item>
    </style>

  2. 開啟res/values-v21/styles.xml檔案,如果沒有,自己手動建立下,然後輸入以下內容

<resources>

    <style name="OverflowMenu" parent="Widget.AppCompat.PopupMenu.Overflow">

        <!-- Api 21 -->
        <item name="android:overlapAnchor">false</item>
    </style>
</resources>