57 votes

Android dessin bulle de dialogue

J'ai cherché pendant des jours et je ne trouve pas de bonnes pistes sur la façon dont je peux dessiner une bulle ou où dessiner des images à 9 patch à utiliser comme arrière-plan. Je suis un artiste terrible. Est-ce que quelqu'un peut aider ?

Le meilleur exemple que j'ai trouvé est ici sur Stack Overflow, mais c'est écrit en Objective C.

Comment dessiner une "bulle de dialogue" sur un iPhone ?

0 votes

Avez-vous essayé d'utiliser une image et de la transformer en neuf patch ?

0 votes

Vérifiez Ma réponse. C'est exactement ce dont vous avez besoin.

90voto

toobsco42 Points 613

Si vous créez un écran de discussion, vous voudrez probablement mettre en œuvre une bulle de discours entrante et une bulle de discours sortante. Voici comment j'ai fait cela :

shape_bg_incoming_bubble.xml

shape_bg_outgoing_bubble.xml

0 votes

Comment faire pivoter la forme entière dans le fichier .xml? Apparaît en vertical lorsque j'essaie de l'implémenter dans le fichier de mise en page

0 votes

Comment donner un rayon de coin pour le coin supérieur droit dans shape_bg_incoming_bubble.xml

5 votes

Pour corriger ce rayon manquant, remplacez dans le premier item par et définissez android:width="8dp" à DEUX FOIS votre rayon. (Si vous avez un rayon de 4dp, définissez-le sur 8dp.)

78voto

VipiN Negi Points 646

Je sais que c'est un peu tard pour cela. Pour ceux qui ne veulent pas utiliser des images 9-patch mais veulent projeter des ombres à partir d'une bulle de dialogue. C'est le plus proche que j'ai pu obtenir de la bulle de dialogue WhatsApp. Et merci à @toobsco42 pour la réponse ci-dessus.

Voici..

Bulle de dialogue entrante :

Bulle de dialogue sortante :

Utilisez correctement les marges dans la mise en page. J'ai utilisé ces valeurs :

Mon résultat était comme ceci :

Description de l'image

14voto

Au cas où quelqu'un aurait besoin d'un autre style de bulle, voici ce que vous pouvez faire merci à @vipin Negi

chat_receiver_bubble.xml

chat_sender_bubble.xml

utilisez comme ceci

apparence finale

voir la description de l'image ici

0 votes

Hey beau travail :)

4voto

Bobbake4 Points 6297

Vous devriez créer une image dans un éditeur d'images et ensuite en faire un 9 patch. Vous pouvez définir la zone où vous aimeriez que le contenu se trouve en utilisant la méthode 9 patch. Ensuite, vous pouvez simplement avoir un TextView avec l'arrière-plan défini sur votre 9 patch. Jetez un œil à une application appelée Bnter sur le marché, elle utilise des bulles de conversation pour afficher des conversations similaires à ce que vous recherchez.

3voto

user13562154 Points 61

Ici j'ai créé pour les messages entrants et sortants en suivant ce Android créer un fond ovale drawable avec coin de chat

itemincoming.xml

testrect.xml

testcorner.xml

outgoing.xml

testrecty.xml

testcornery.xml

maintenant ça ressemble à ça

entrer la description de l'image ici

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