为 android 上的多个工具栏设置菜单
Set menus for multiple toolbars on android
在我的 activity 中,我将以下代码用于我的两个工具栏。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Creating The Toolbar and setting it as the Toolbar for the activity
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("My title");
toolbar2 = (Toolbar) findViewById(R.id.tool_bar_bottom);
setSupportActionBar(toolbar2);
...
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
我希望它对顶部工具栏使用 menu_main.xml,对底部工具栏使用 menu_bottom,但对于顶部和底部工具栏,它都使用 menu_main.xml。
有人可以解释一下如何正确操作吗?
当你使用两个 ToolBar
时,将菜单设置成这样
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("My title");
上面的工具栏从 onCreateOptionsMenu
扩展菜单,菜单回调侦听器将是 onOptionsItemSelected
现在第二个ToolBar
toolbar2 = (Toolbar) findViewById(R.id.tool_bar_bottom);
toolbar2.inflateMenu(R.menu.bottom_menu);//changed
//toolbar2 menu items CallBack listener
toolbar2.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem arg0) {
if(arg0.getItemId() == R.id.item_id){
}
return false;
}
});
在我的 activity 中,我将以下代码用于我的两个工具栏。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Creating The Toolbar and setting it as the Toolbar for the activity
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("My title");
toolbar2 = (Toolbar) findViewById(R.id.tool_bar_bottom);
setSupportActionBar(toolbar2);
...
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
我希望它对顶部工具栏使用 menu_main.xml,对底部工具栏使用 menu_bottom,但对于顶部和底部工具栏,它都使用 menu_main.xml。
有人可以解释一下如何正确操作吗?
当你使用两个 ToolBar
时,将菜单设置成这样
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("My title");
上面的工具栏从 onCreateOptionsMenu
扩展菜单,菜单回调侦听器将是 onOptionsItemSelected
现在第二个ToolBar
toolbar2 = (Toolbar) findViewById(R.id.tool_bar_bottom);
toolbar2.inflateMenu(R.menu.bottom_menu);//changed
//toolbar2 menu items CallBack listener
toolbar2.setOnMenuItemClickListener(new OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem arg0) {
if(arg0.getItemId() == R.id.item_id){
}
return false;
}
});