9
votes

Deux barres d'action (en bas et en haut) en même temps?

J'ai besoin de faire deux barres d'action, j'utilise Actionbarcherherlock en passant. Donc, ce dont j'ai besoin exactement consiste à mettre un "écran de bienvenue" basculer sur la barre d'action normale et ajoutez deux options d'action de la barre d'action normale. Semblable à ce dont j'ai besoin, c'est Gmail et maps comme ici: http://cdn.androidcommunity.com/wp-content/uploads/2012/03/screenshot_2012-03-28-12-58-16.png (ils n'ont pas Permettez-moi de poster une image pour la réputation est faible, voir le lien s'il vous plaît)

Cette application de cartes dispose d'une barre d'action supérieure et inférieure, exactement ce dont j'ai besoin, car une fois que j'atteigne le point où je peux ajouter la deuxième barre d'action que je connais Où commencer ... p>

J'ai cherché environ une semaine à propos de ce sujet et j'ai trouvé quelques questions similaires, mais j'ai bien compris non les réponses; Les réponses concernaient une vue personnalisée que je ne suis pas familière et je ne peux pas comprendre une chose, mais oui j'ai essayé de faire une "vue personnalisée" de tout ce que je pensais avoir raison et que j'ai eu crrassshheesss que je n'ai pas 'T Trouver toute solution pour ... Si vous pouvez me présenter comme exemple cette application Maps Comment utiliser ces deux barres d'action ?? (Je ne veux pas naviguer comme dans les cartes et Gmail, mais seuls les deux barres d'action) p>

Voici une partie de mon code: p> xxx pré>

My Manifeste: p> xxx pré>

et mes menus que j'ai l'intention de les mettre dans mes barres d'action ... p>

menu \ Activity_main.xml p> xxx pré>

menu \ Upper_navbar.xml (aurait-il d'avoir nommé la barre supérieure_action, mais sa seule erreur de réflexion, son nom après-vente,: / PLZ Processez) P>

@Override
    void addPreferencesForActivity() {
        addPreferencesFromResource(R.xml.bluetooth_settings);

        Activity activity = getActivity();

        Switch actionBarSwitch = new Switch(activity);

        if (activity instanceof PreferenceActivity) {
            PreferenceActivity preferenceActivity = (PreferenceActivity) activity;
            if (preferenceActivity.onIsHidingHeaders() || !preferenceActivity.onIsMultiPane()) {
                final int padding = activity.getResources().getDimensionPixelSize(
                        R.dimen.action_bar_switch_padding);
                actionBarSwitch.setPadding(0, 0, padding, 0);
                activity.getActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM,
                        ActionBar.DISPLAY_SHOW_CUSTOM);
                activity.getActionBar().setCustomView(actionBarSwitch, new ActionBar.LayoutParams(
                        ActionBar.LayoutParams.WRAP_CONTENT,
                        ActionBar.LayoutParams.WRAP_CONTENT,
                        Gravity.CENTER_VERTICAL | Gravity.END));
            }
        }

        mBluetoothEnabler = new BluetoothEnabler(activity, actionBarSwitch);

        setHasOptionsMenu(true);
    }


0 commentaires

3 Réponses :


5
votes

C'est un barre d'action divisée . Il est disponible pour les appareils de combiné avec une largeur d'écran de 400DP < Pour activer la barre d'action divisée, ajoutez simplement uioptions = "SplitActionActionBarwinnarrent" à votre ouil manifeste.

EDIT: La deuxième image n'est en effet pas une barre d'action fractionnée. Ce ne sont que des boutons avec l'attribut ButtonBarbuttonStyle. Regardez dans Ceci ici .

EDIT:

SplitActionBarWhenarrow "/ code> a été déprécis .


6 commentaires

NOP, vous n'avez pas lu la question, je sais faire une barre d'action (scission et normale), mais ce dont j'ai besoin de les faire à la fois pour que je puisse avoir deux barres d'action!


@Seaskyways: En fait, je soupçonne que Ahmad a lu la question, puisqu'il a la bonne réponse.


Cela pourrait m'aider plus tard, mais cela ne me répond pas: / Voir la deuxième modification qui est absolument une barre d'action (un commutateur et une barre de fractionnement) ...


Voulez-vous dire le lien que j'ai édité? Ce n'est pas une barre d'action fractionnée.


Ne peut pas voir la barre d'actions en bas


@Qutbuddin ne pouvez-vous pas lire? La modification indique clairement que c'est obsolète.



3
votes

J'ai besoin de faire deux barres d'action

Alors vous êtes seul. Ceci n'est pas pris en charge dans Android ou ActionbarcherLock, autre que la barre d'action divisée, que vous avez rejetée.

Semblable à ce dont j'ai besoin sont gmail et maps comme ici

C'est une barre d'action fractionnée, en particulier l'utilisant des superpositions. Cet exemple de projet démontre cette technique.

Cette application Maps possède une barre d'action supérieure et inférieure, exactement ce dont j'ai besoin

Utilisez ensuite la barre d'action Split, via Android: UIOPTIONS = "SplittageBarWhennarrow" dans votre Élément, la façon dont les cartes font. L'activité principale des cartes utilise Android: UIOPTIONS = "SplitActionBarWinnarrent" .

Si vous pouvez me présenter comme exemple cette application Maps comment utilise ces deux barres d'action?

Comme indiqué ci-dessus, Cet exemple de projet démontre cette technique .

Je sais comment faire une barre d'action (scission et normale)

cartes utilise une barre d'action divisée.

Mais ce dont j'ai besoin, c'est de les faire à la fois à la fois, je peux avoir deux barres d'action!

Dans votre capture d'écran, vous remarquerez que les cartes disposent d'une barre d'action fractionnée et elles sont à la fois à l'écran en même temps. C'est la façon dont les barres d'action divisées fonctionnent, dans des situations étroites. La même application Maps n'affiche pas la barre d'action divisée lorsque l'écran n'est pas réticulé actuellement.


11 commentaires

J'ai un meilleur exemple, un exemple précis de ce que je veux, voir le WiFi dans l'application Paramètres de stock Android, il dispose d'un commutateur à côté du titre (barre d'action normale) et d'une barre d'action scindée normale! omgdroid.com/ WP-Contenu / Uploads / 2012/07 / ...


@Seaskyways: Ce n'est pas deux barres d'action. Ce sont deux boutons au bas de la disposition, ou quelque chose du long de ces lignes. Les noms d'action de la barre d'action sont dans toutes les capuchons, par exemple.


@Seaskyways: et votre capture d'écran n'est pas de la version AOSP. La version AOSPO de cet écran ne contient pas les boutons en bas, mais utilise plutôt une barre d'action divisée, où "scan" et "avancé" apparaissent dans le débordement de l'action.


@Seaskyways: Je faisais référence à la capture d'écran dans votre premier commentaire sur ma réponse. Ce n'est pas la version aosp. Par style, je suppose que c'est de ce téléphone Samsung, mais c'est juste une supposition.


Oui, c'est à droite, c'est Samsung, mais je vous demande de vérifier la version aosp, mais c'est ce que j'ai trouvé sur Google, consultez ma propre capture d'écran de mon Galaxy Nexus 4.2.1 ...


@Seaskyways: Je me cite d'un commentaire précédent: "La version AOSPOP de cet écran n'a pas les boutons en bas, mais utilise plutôt une barre d'action divisée, où" scan "et" avancé "apparaissent dans le débordement de l'action".


Comment peut-il utiliser une barre d'action divisée et un commutateur à côté du titre?!?!?!?!?!?!


@Seaskyways: C'est probablement une vue de navigation personnalisée, si je devais deviner. Étant donné que le code AOSP est ouvert, vous êtes invité à faire le reste de l'enquête vous-même.


J'ai également pensé à enquêter, mais Google nous donne le SDK, où puis-je trouver la source ??


@Seaskyways: Source.Android.com . Il y a aussi un miroir GitHub chez Github.com/android .


Merci beaucoup de contribuer à mon aide, je pense que je vais enquêter et écrire la réponse très juste!



-1
votes

xxx

// est une ligne principale pour ce xxx

C'est la ligne principale pour le côté Bottam

Android: UIOPTIONS = "SplittageAfbarWenrownarrent"


1 commentaires

u peut ajouter des images ou un texte en bas ........ cela fonctionnera sans aucun problème, j'ai le même problème que j'ai dun à partir de ce code de ligne