web-dev-qa-db-fra.com

Android: ajouter un badge aux icônes internes à mon application

J'essaie d'ajouter des badges aux icônes de mon application Android. par exemple. dans l'application facebook (pour iPhone), dans la page d'accueil, le nombre de demandes en attente est indiqué sur l'icône des demandes.

Quelqu'un peut-il fournir des liens/idées sur la façon de procéder?

Merci

23
Michael_19

Si vous voulez vraiment le faire. Utilisez une variable FrameLayout qui contient une variable ImageView avec votre icône et une variable TextView avec un clip de neuf points pouvant être dessiné comme arrière-plan dans le coin droit. Ajoutez des marges à la ImageView si vous voulez que le badge soit un peu en dehors de l'icône.

20
alexanderblom

Merci Alexanderblom, pour les astuces.J'ai utilisé cette logique et j'ai réussi à créer un badge sur une imageicon interne.Il y a le fichier XML.

<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/frameLayout1"
    Android:layout_width="wrap_content"
   Android:layout_height="wrap_content" >

    <ImageView
        Android:id="@+id/imageView1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:src="@drawable/ic_launcher" />


    <TextView
        Android:id="@+id/textView1"
        Android:layout_width="20dip"
        Android:layout_height="20dip"
        Android:text="5"
        Android:textColor="@color/black"
        Android:textStyle="bold"
        Android:padding="2sp"
        Android:gravity="center"
        Android:background="@drawable/circle"
        Android:layout_gravity="top|right" />

</FrameLayout>

et le circle.xml est

<item>
    <shape Android:shape="oval">
        <solid Android:color="@Android:color/black" />
    </shape>
</item>
<item Android:top="1dp" Android:left="1dp" Android:right="1dp" Android:bottom="1dp">
    <shape Android:shape="oval">
        <solid Android:color="@color/Red" />

    </shape>
</item>
8
ranjit patel

Android ne prend pas en charge les badges sur les icônes. 

Au lieu de cela, il fournit le système de notification (icônes dans la barre de notification, etc.), ainsi que la possibilité de créer widgets qui peuvent être ajoutés au "Bureau" des utilisateurs.

7
synic

vérifier cette bibliothèque qui ajoute un badge à l'icône/bouton/onglet

https://github.com/jgilfelt/Android-viewbadger

3

Essayez celui-ci, c'est bon pour Sony, Samsung, LG, HTC, Xiaomi, ASUS, ADW, APEX et NOVA Launchers.

https://github.com/leolin310148/ShortcutBadger

2
Webdma

Suivez ci-dessous la procédure à suivre pour ajouter un nombre de notifications à l'icône de l'application.

Pas:

  1. Ajoutez mavenCentral à votre script de construction.

    référentiels {mavenCentral ()}

  2. Ajouter des dépendances dans votre niveau d'application.

    dependencies { compile 'me.leolin: ShortcutBadger: 1.1.4@aar' ou compile 'me.leolin: ShortcutBadger: 1.1.3@aar' }

  3. Ajoutez les codes ci-dessous pour afficher le nombre de notifications sur l'icône de l'application:

    int badgeCount = 1; ShortcutBadger.applyCount (context, badgeCount); // pour 1.1.4 ou ShortcutBadger.with (getApplicationContext ()). count (badgeCount); // pour 1.1.3

  4. Si vous souhaitez supprimer le badge

    ShortcutBadger.removeCount (context); // pour 1.1.4 ShortcutBadger.with (getApplicationContext ()). remove (); // pour 1.1.3 ou ShortcutBadger.applyCount (context, 0); // pour 1.1.4 ShortcutBadger.with (getApplicationContext ()). count (0); // pour 1.1.3

0
Chirag Prajapati