Dans mon activité, j'utilise le code suivant pour mes deux barres d'outils.
@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;
}
Je veux qu'il utilise menu_main.xml pour la barre d'outils supérieure et menu_bottom pour la barre d'outils inférieure, mais pour les barres d'outils supérieure et inférieure, il utilise menu_main.xml.
Quelqu'un peut-il expliquer comment le faire correctement?
Comme vous utilisez deux ToolBar
s définissez le menu comme ceci
toolbar = (Toolbar) findViewById(R.id.tool_bar);
setSupportActionBar(toolbar);
getSupportActionBar().setTitle("My title");
La barre d'outils ci-dessus gonfle le menu de onCreateOptionsMenu
, le menu ListBack listener sera onOptionsItemSelected
Maintenant deuxième 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;
}
});