我在主要活动中声明了以下菜单:
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
//... populate with menu.add()
}
菜单图标看起来像3个点,它的位置在右侧的操作栏上。在我的应用程序中,我使用片段,我想要更改菜单图标(按下打开菜单项的图标),具体取决于它在前面的片段。
我如何以编程方式执行此操作?
同样在我的一些片段上,我不希望菜单出现。为此,我在这些片段中使用:
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater)
{
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
}
我试图找到一种方法,使用菜单var来改变菜单的图标。但我找不到办法。
所以....你能告诉我如何以编程方式更改菜单图标吗?
谢谢,
答案 0 :(得分:0)
看看这个问题:
How to change the Option menu icon in the Action Bar?
试试这个:
<style name="YourTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionOverflowButtonStyle">@style/Widget.ActionButton.Overflow</item>
</style>
<style name="Widget.ActionButton.Overflow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@android:drawable/ic_menu_moreoverflow_holo_dark</item>
<item name="android:background">?android:attr/actionBarItemBackground</item>
<item name="android:contentDescription">@string/action_menu_overflow_description</item>
</style>
<强>更新强>
以编程方式更改它,请看这个问题: Changing the Android Overflow menu icon programmatically
希望这会对你有所帮助。
答案 1 :(得分:0)
如果我理解正确,你的意思是overflow
图标。我就是这样做的:
<!--inside your styles.xml-->
<style name="AppBaseTheme" parent="@android:style/Theme.Holo">
<item name="android:actionOverflowButtonStyle">@style/overflow</item>
</style>
<style name="overflow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/custom_overflow</item>
</style>
更新:
以编程方式更改它:Changing the Android Overflow menu icon programmatically