57 votes

Barre d'action fractionnée Android avec des éléments d'action en haut et en bas ?

Existe-t-il un moyen de spécifier certaines actions dans la partie supérieure de la barre d'action fractionnée, tandis que les autres sont placées dans la partie inférieure ? Ou bien est-ce tout ou rien, c'est-à-dire que tous les éléments d'action vont uniquement dans la partie inférieure de la barre d'action fractionnée ?

enter image description here

26voto

Ryan R Points 1270

Ce n'est pas possible actuellement.

Découvrez la réponse de Reto Meier et Roman Nurik, développeurs Android, lors des Android Developer Office Hours : http://youtu.be/pBmRCBP56-Q?t=55m50s

17voto

roomtek Points 1088

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 pour la barre inférieure, j'ai gonflé mon 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 :

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme"
    android:uiOptions="splitActionBarWhenNarrow" > ....

14voto

Sebastian Points 147

J'ai résolu ce problème en utilisant une vue personnalisée (CustomView) et en ajoutant les éléments du menu, qui doivent s'afficher en haut, à cette vue.

1voto

Matthew_ryelee Points 96

Pas sûr. Cependant, vous pouvez utiliser une combinaison de ces éléments lorsque vous créez vos éléments de menu dans la barre d'action, afin d'expérimenter.

MenuItem.SHOW_AS_ACTION_ALWAYS
MenuItem.SHOW_AS_ACTION_NEVER
MenuItem.SHOW_IF_ROOM

1voto

BoldHD Points 51

Si cette option est activée, Android a la possibilité de diviser la barre d'action. La décision de diviser ou non est prise par le système au moment de l'exécution.

Vous pouvez définir que la barre d'action doit être automatiquement divisée par le système si l'espace disponible est insuffisant. vous pouvez l'activer via l'option Android:uiOptions="SplitActionBarWhenNarrow" dans la déclaration de l'activité de votre application dans le fichier AndroidManifest.xml. dans le fichier AndroidManifest.xml.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X