Existe-t-il un moyen de spécifier certains éléments d’action dans la partie supérieure de la barre d’action divisée alors que les autres vont au bas de la page? Ou est-ce que tout ou rien, où tous les éléments d’action vont dans la partie inférieure de la scission seulement?
Ceci n’est actuellement pas possible.
Voir la réponse directement des développeurs Android Reto Meier et Roman Nurik pendant les heures de bureau des développeurs Android: http://youtu.be/pBmRCBP56-Q?t=55m50s
Pour résoudre ce problème, j’ai utilisé une vue personnalisée comme barre d’action:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ActionBar actionBar = getActionBar(); actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM); View view = View.inflate(getApplicationContext(), R.layout.actionbar, null); actionBar.setCustomView(view); }
et puis pour la barre du bas j’ai gonflé ma vue de menu ou ce que vous voulez voir apparaître en bas:
@Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.browser_main, menu); RelativeLayout relativeLayout = (RelativeLayout) menu.findItem( R.id.layout_item).getActionView(); View inflatedView = getLayoutInflater().inflate( R.layout.media_bottombar, null); relativeLayout.addView(inflatedView); return true; }
Dans le manifeste Android, j’inclus également (android: uiOptions = “splitActionBarWhenNarrow”) comme ceci:
....
J’ai résolu ce problème en utilisant un CustomView et en ajoutant les éléments de menu, qui devraient apparaître en haut, à cette vue.
Douteux. Cependant, vous pouvez combiner ceux-ci lors de la création de vos éléments de menu dans la barre d’actions pour expérimenter.
MenuItem.SHOW_AS_ACTION_ALWAYS MenuItem.SHOW_AS_ACTION_NEVER MenuItem.SHOW_IF_ROOM
Si cette option est activée, Android a la possibilité de diviser la barre d’action. Si le fractionnement est décidé par le système à l’exécution
Vous pouvez définir que la barre d’actions doit être automatiquement divisée par le système si l’espace disponible est insuffisant. Vous pouvez l’activer via le paramètre android: uiOptions = “SplitActionBarWhenNarrow” dans la déclaration de votre activité d’application dans le fichier AndroidManifest.xml.