Bal*_*yto 2 android actionbarsherlock android-actionbar
我正在我的主要活动中创建操作栏菜单:
public boolean onCreateOptionsMenu(Menu menu) {
// Used to put dark icons on light action bar
SubMenu sub = menu.addSubMenu(null);
sub.add(0, R.style.Theme_Sherlock, 0, "Default");
sub.add(0, R.style.Theme_Sherlock_Light, 0, "Light");
sub.add(0, R.style.Theme_Sherlock_Light_DarkActionBar, 0,
"Light (Dark Action Bar)");
MenuItem ShareButton = sub.getItem();
ShareButton.setIcon(R.drawable.ic_action_overflow);
ShareButton.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS
| MenuItem.SHOW_AS_ACTION_WITH_TEXT);
return true;
}
Run Code Online (Sandbox Code Playgroud)
然后在我的片段活动中,我尝试更改第二个片段的菜单:
first i do this:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setHasOptionsMenu(true);
}
Run Code Online (Sandbox Code Playgroud)
我这样做:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// TODO Auto-generated method stub
//final MenuInflater inflater2 = getMenuInflater();
//inflater.inflate(R.menu.historymenu, menu);
Log.v("Some Log", "I'm in on Create Options Menu");
SubMenu sub = menu.addSubMenu(null);
sub.add(0, R.style.Theme_Sherlock, 0, "HistoryCheck");
MenuItem ShareButton = sub.getItem();
ShareButton.setIcon(R.drawable.ic_action_overflow);
ShareButton.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS
| MenuItem.SHOW_AS_ACTION_WITH_TEXT);
super.onCreateOptionsMenu(menu, inflater);
}
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我很乐意为.xml为每个片段和主要活动提供菜单,但由于某些原因,通货膨胀什么都不做.
使用代码添加新的子菜单,当我切换到第二个标签/片段时,我得到2个菜单,我想更改现有菜单,而不是添加额外的菜单.
请帮我改变正确的路线.
TNX.
Ben*_*oli 11
如果您想要更改菜单,请不要在主活动中添加菜单,只在片段中添加菜单.这样切换片段时,菜单会相应切换.
您CAN膨胀从XML的菜单:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
inflater.inflate(R.menu.the_menu, menu);
}
Run Code Online (Sandbox Code Playgroud)
只要确保你导入com.actionbarsherlock.view.Menu和com.actionbarsherlock.view.MenuInflater.
the_menu.xml(带子菜单)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_item"
android:showAsAction="always"
android:title="Menu">
<menu>
<item
android:id="@+id/submenu_1"
android:showAsAction="always"
android:title="submenu 1"/>
<item
android:id="@+id/submenu_2"
android:showAsAction="always"
android:title="submenu 2"/>
</menu>
</item>
</menu>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9994 次 |
| 最近记录: |