Changer le bouton de retour en flèche vers le bas dans la barre de navigation

Vlad:

J'utilise un AppCompatDialogFragmentpour afficher un fichier BottomSheetDialog. Cliquez sur le bouton de retour pour Navigation Barfermer le fichier BottomSheetDialog.

Je veux changer l'icône Navigation Bardu bouton de retour en icône de flèche vers le bas. Cela se fait par défaut lorsque le clavier est affiché et que je souhaite le reproduire pour la feuille inférieure.

Pour être clair, voici ce que j'ai:

Actuel

Et voici ce dont j'ai besoin:

C'est ce que je veux

Notez que le bouton de retour est une "flèche vers le bas".

La barre de navigation est un composant de l'interface utilisateur système et je ne vois pas comment changer son apparence pour qu'elle ressemble à la barre de navigation affichée lorsque le clavier est visible.

Côte:

In android O the concept of changing the icon is introduced but it is still through the 3rd party app. Custom Navigation Bar that uses WRITE_SECURE_SETTINGS to change the icons. In Android O you can change the display of the bar i.e Light or Dark theme.

Solution 2 can be more of a help to you. You can create a popup window on navigation Bar with the desired layout i.e 3 buttons back, Recent Apps and home button. In this way you can change the back button icon accordingly. Make sure the pop up window is of same height as the navigation Bar and you can then make your own functions for home and recent apps and in back function you can close your BottomSheetDialog and remove that popup window.

Vous trouverez ci-dessous le code de la clé d'accueil ainsi que des applications récentes. Pour le bouton de retour, faites en conséquence ce que vous voulez réaliser avec votre propre icône.

Pour le bouton d'accueil.

Intent startMain = new Intent(Intent.ACTION_MAIN);
startMain.addCategory(Intent.CATEGORY_HOME);
startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(startMain);

Pour les applications récentes.

Class serviceManagerClass = Class.forName("android.os.ServiceManager");
Method getService = serviceManagerClass.getMethod("getService", String.class);
IBinder retbinder = (IBinder) getService.invoke(serviceManagerClass, "statusbar");
Class statusBarClass = Class.forName(retbinder.getInterfaceDescriptor());
Object statusBarObject = statusBarClass.getClasses()[0].getMethod("asInterface", IBinder.class).invoke(null, new Object[] { retbinder });
Method clearAll = statusBarClass.getMethod("toggleRecentApps");
clearAll.setAccessible(true);
clearAll.invoke(statusBarObject);

Pour le bouton Retour // utilisez votre icône et la fonction de fermeture du BottomSheetDialog.

Pour calculer la hauteur de la barre de navigation

public static int getSoftButtonsBarSizePort(Activity activity) {
    // getRealMetrics is only available with API 17 and +
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
        DisplayMetrics metrics = new DisplayMetrics();
        activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
        int usableHeight = metrics.heightPixels;
        activity.getWindowManager().getDefaultDisplay().getRealMetrics(metrics);
        int realHeight = metrics.heightPixels;
        if (realHeight > usableHeight)
            return realHeight - usableHeight;
        else
            return 0;
    }
    return 0;
}

vous pouvez également le faire par des adbcommandes, mais assurez-vous que cela peut gâcher votre navigationBaret que vous ne pouvez pas récupérer votre original navigationBar.

J'espère que cela aide.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

Suppression de la flèche de retour dans la barre de navigation en conservant le titre du bouton de retour

Comment changer la flèche vers le haut et la flèche vers le bas en cliquant sur le bouton

Afficher le bouton de retour dans la barre de navigation

Désactiver le bouton retour dans la barre de navigation

Comment ajouter une fonctionnalité de flèche de bouton de retour dans la barre de navigation

pourquoi le bouton de la barre de navigation glisse vers le bas lorsque vous cliquez dessus?

Comment changer le titre du bouton "retour" dans une barre de navigation

Ionic 3 - Ne changez pas le bouton d'accueil en bouton de retour dans la barre de navigation

Masquer le bouton de retour dans la barre de navigation avec hidesBackButton dans Swift

Supprimer le texte du bouton de retour de la barre de navigation dans SwiftUI

Comment masquer le bouton de retour dans les formulaires Xamarin de la barre de navigation

Le bouton de retour créé par programme n'apparaît pas dans la barre de navigation?

Changer la couleur et le titre du bouton de retour de la barre de navigation à partir du code Swift 3

Comment obtenir le bouton de retour dans la barre d'action avec la nouvelle navigation Jetpack

Comment obtenir le bouton Retour (sur l'appareil) comme la fonctionnalité sur la flèche arrière de la barre d'applications dans le coin supérieur droit

La barre de navigation vole vers le bas

Afficher le bouton «Retour au menu» dans la barre de navigation iOS avec Xamarin.Forms

Xamarin.Forms Comment désactiver le bouton Retour dans la barre de navigation

SwiftUI Comment masquer la barre de navigation tout en maintenant le bouton Retour

Bordure angulaire de la carte md en bas avec flèche vers le bas

Comment ajouter une flèche en haut à droite dans le menu déroulant de la barre de navigation bootstrap

Comment puis-je modifier le bouton de commande arrière de la barre d'outils (retour flèche) dans Codename One?

Comment changer la couleur du bouton de retour dans la barre de navigation?

Swift / XCode 6.4: ajouter le bouton de retour au contrôleur de navigation dans la barre de navigation

Ma barre de navigation verticale fixe pousse mon bouton vers le bas? Comment le réparer?

Différences entre le bouton de retour matériel et le bouton de retour de la barre de navigation

MatBlazor - La position de la flèche vers le bas n'est pas correcte dans MatNavMenu

changer la couleur de la flèche de retour dans l'en-tête de navigation

Comment ajuster le titre de la barre de navigation et modifier le bouton de retour

TOP liste

chaudétiquette

Archive