Установите меню для нескольких панелей инструментов на Android
В своей деятельности я использую следующий код для двух своих панелей инструментов.
@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.
Может кто-нибудь объяснить, как это сделать правильно?
Ответы
Ответ 1
Поскольку вы используете два ToolBar
, установите это меню следующим образом
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("My title");
Вышеупомянутое меню раздувания панели инструментов из onCreateOptionsMenu
, меню CallBack listener будет 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;
}
});