Android 在CreateOptionMenu图标上隐藏某些活动和片段的操作栏
使用带有actionbar类的google导航抽屉实现了一个滑动菜单。我的问题是每次活动都会显示OnCreateOptions菜单。如何使OnCreateOptions菜单图标任意可见和不可见。有什么想法吗Android 在CreateOptionMenu图标上隐藏某些活动和片段的操作栏,android,android-actionbar,Android,Android Actionbar,使用带有actionbar类的google导航抽屉实现了一个滑动菜单。我的问题是每次活动都会显示OnCreateOptions菜单。如何使OnCreateOptions菜单图标任意可见和不可见。有什么想法吗 public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) { com.actionbarsherlock.view.MenuInflater inflater = getSuppor
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.layout.menu, menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.settings:
Intent i=new Intent(class1.this, clas2.class);
startActivity(i);
return true;
}
return false;
}
您可以根据需要创建菜单运行时或具有不同的菜单布局,并在活动集的
oncreateoptions menu
中设置该布局或运行时创建这些菜单,或者如果您不想显示菜单图标,只需执行menu.clear()
活动A
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.layout.menu_a, menu);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.settings:
Intent i=new Intent(class1.this, clas2.class);
startActivity(i);
return true;
}
return false;
}
活动B
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
menu.clear();
com.actionbarsherlock.view.MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.layout.menu_b, menu);
// OR
Drawable tmpDrawable = getResources().getDrawable(R.drawable.share_sharingicon);
// tmpDrawable.setColorFilter(getResources().getColor(R.color.colorGrayFont), PorterDuff.Mode.MULTIPLY);
menu.add("ShareMap").setIcon(tmpDrawable).setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
menu.add("Directions").setShowAsActionFlags(MenuItem.SHOW_AS_ACTION_ALWAYS);
}
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.ShareMap:
Intent i=new Intent(class1.this, clas2.class);
startActivity(i);
return true;
case R.id.Directions:
Intent i=new Intent(class1.this, clas2.class);
startActivity(i);
return true;
}
return false;
}
要在操作栏上隐藏或显示某些图标,您需要覆盖方法: @凌驾 公共布尔值OnPrepareOptions菜单(菜单) { }
此外,当操作栏项因R.id.action\u您的图标发生更改时,您需要“SupportInvalidateOptions菜单()”使活动的选项菜单无效。您的图标是指OnCreateOptions菜单id操作菜单中的图标项id否我想从标题隐藏OnCreateOptions菜单您的意思是在操作栏上不显示任何内容?如果是这样的话,我想就评论一下你的“onCreateOptionMenu”吧,这就是你想要的吗?对于一些片段,从标题本身隐藏onCreateOptionMenu图标。我使用的是滑动菜单,对于某些片段,不需要onCreateOptionMenu图标。需要从操作栏标题栏隐藏它吗
MenuItem your_icon = menu.findItem(R.id.action_your_icon);
//show icon
your_icon.setvisible(true);
//hide icon
your_icon.setvisible(false);
...