我想在android中更改single menuItem background
,但它不起作用。我做了什么,在appcompat supported actionview
中设置MenuItem
并尝试设置background
actionview
。
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<item android:id="@+id/action_my_balance"
android:title="@string/my_balance"
app:showAsAction="never"
app:actionViewClass="android.widget.ImageButton"
/>
</menu>
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.my_menu, menu);
ImageButton balanceMenu = (ImageButton) MenuItemCompat.getActionView(menu.findItem(R.id.action_my_balance));
balanceMenu.setBackgroundColor(Color.RED);
balanceMenu.invalidate();
return true;
}
但它根本不起作用。也可以在MenuItem上设置getView而不设置自定义actionview
?
答案 0 :(得分:0)
从AndroidManifest.xml
<style name="ActionBarTheme" parent="ChooseYourParentStyle">
<item name="android:popupMenuStyle">@style/MyStyle.PopupMenu_Style</item>
</style>
<style name="MyStyle.PopupMenu_Style" parent="ChooseYourParentStyle.ListPopupWindow">
<item name="android:popupBackground">@drawable/CreateCustomDrawable</item>
</style>