0

我想樣式彈出我的項目,使他們看起來像eachother下面的按鈕列表。唯一的問題是我無法改變彈出項的任何內容。我試圖在我的應用風格中設置全球popupMenuStyle,但這對任何事情都沒有影響。我試圖在菜單項上設置一個actionLayout,但仍然沒有改變。樣式彈出菜單項的

如何更改彈出式菜單項的樣式?

我的菜單:

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/test1" 
     android:title="Test" /> 
    <item android:id="@+id/test2" 
     android:title="Test 2" /> 
</menu> 

如何打開彈出菜單:

PopupMenu popupMenu = new PopupMenu(getContext(), mButton); 
popupMenu.getMenuInflater().inflate(R.menu.popup_menu, popupMenu.getMenu()); 
popupMenu.show(); 

回答

0

試試這個作爲你的styles.xml文件的一部分:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <!-- Base application theme. --> 
    <style name="AppTheme" parent="Theme.AppCompat.NoActionBar"> 
     <item name="android:popupMenuStyle">@style/PopupMenu</item> 
     <item name="android:textAppearanceLargePopupMenu">@style/myPopupMenuTextAppearanceLarge</item> 
     <item name="android:textAppearanceSmallPopupMenu">@style/myPopupMenuTextAppearanceSmall</item> 
    </style> 

    <style name="PopupMenu" parent="@android:style/Widget.PopupMenu"> 
     <item name="android:popupBackground">#FFFFFF</item> 
     <item name="android:divider">#444444</item> 
     <item name="android:dividerHeight">1px</item> 
     <item name="android:background">#FFFFFF</item> 
    </style> 

    <style name="myPopupMenuTextAppearanceSmall" parent="@android:style/TextAppearance.DeviceDefault.Widget.PopupMenu.Small"> 
     <item name="android:textColor">#000000</item> 
     <item name="android:textSize">12sp</item> 
     <item name="android:background">#FFFFFF</item> 
    </style> 

    <style name="myPopupMenuTextAppearanceLarge" parent="@android:style/TextAppearance.DeviceDefault.Widget.PopupMenu.Large"> 
     <item name="android:textColor">#000000</item> 
     <item name="android:textSize">18sp</item> 
     <item name="android:background">#FFFFFF</item> 
    </style> 

</resources> 

,然後在活動的xml佈局文件添加此行:

style="@style/AppTheme" 

或在你的AndroidManifest.xml文件,將其添加到應用程序標籤:

android:theme="@style/AppTheme" 

這將影響Android的是如何呈現在您的應用程序彈出式菜單。

+0

我仍然看到默認的彈出式樣式 –