Android des Étiquettes ou des Bulles dans l'EditText
Quelqu'un peut-il svp m'indiquer la bonne direction comment faire des bulles ou des étiquettes dans l'EditText quelque chose comme ceux que vous voyez quand vous voulez composer quelque chose dans le Flux Google+ lorsque vous ajoutez un cercle ou un contact? Le Rectangle est une auto complète edittext.
- Cher mettre la possible instantané à chaque fois que vous parlez de vous, et donner l'exemple de toute autre application, de sorte que nous pouvons attraper exactement. J'espère que vous avez compris mon point. 1 snap = 10000 mots 🙂
- Ils ont utilisé pour restreindre les images. >.< Ne sais pas pourquoi c'est de téléchargement de 2 photos soit
- Ok j'ai mis à jour la question.
- +1 de toute façon belle question.
- Sont Vos "cercles" et "cercles Étendus" différents EditText?
- Seulement 1 EditText avec 2 bulles en elle.
- Je suis en train de faire quelque chose de similaire ICI stackoverflow.com/questions/10812316/contact-bubble-edittext
Vous devez vous connecter pour publier un commentaire.
Ce que vous montrer, c'est le même comportement que le SMS application stock. Recherche pour le code ici pour voir comment c'est fait.
EDIT:
Le code doit être dans platform_packages_apps_mms. Jetez un oeil à la RecipientsEditor classe.
TextView
avec un grisandroid:background
et unandroid:leftDrawable
Spannable
système (que je décrirai dans une autre réponse) pour obtenir un drawable dans unTextView
/EditText
que le flux de texte.J'ai construit TokenAutoComplete sur github pour résoudre un problème similaire et il devrait fonctionner pour vous aussi. Voici une implémentation de base d'une démo app:
Mise en page de code pour contact_token (vous pouvez utiliser n'importe quel type de mise en page ici ou pourrait jeter une ImageView si vous voulez des images dans le jeton)
Jeton backgound drawable
Personne code objet
Exemple d'activité
Mise en page de code
Vous pouvez le faire en créant une sous-classe de
android.texte.style.DynamicDrawableSpan
.ImageSpan
en est un exemple: il remplace une plage (la plage) de texte avec une image.Cet exemple mettre une étoile dans un champ d'édition, en remplaçant le texte "test". Créer un EditText dans votre mise en page avec l'id de "texte" et de mettre cela dans
onCreate()
(ou autre ville):Je ne vois pas de classes qui ressemblait à celui qu'ils pourraient envelopper texte normal dans un drawable, mais qui pourrait être assez facilement résolu en remplaçant la
getDrawable()
méthode et le rendu du texte.Annotation
classe qui a été souligné dans Macarse de réponse. Je soupçonne que la réponse finale serait d'utiliser les deux classes.J'ai résolu ce problème ICI De Contact De La Bulle EditText
Si tu veux dire les conseils, vous pouvez ajouter le simplement avec:
Cela mettra le gris de l'étiquette dans l'EditText lorsqu'il est vide.
Pour définir l'icône en forme de cercle, à gauche de l'
EditText
vous pouvez modifier laleftDrawable
.Vous pouvez le faire sur la mise en page fichier xml
android:drawableRight="@drawable/search_icon"
ou par programmation à l'aide de lasetCompoundDrawablesWithIntrinsicBounds
fonction.Si vous aussi vous souhaitez donner à la bulle de style, vous devez changer le fond d'écran dessiné par un 9-patch qui ont du style. ici vous avez un tutoriel pour un 9-patch bulle de google maps.
Espère que ça a aidé! 🙂
Je pense que c'utilisation setCompoundDrawables() la méthode pour insérer cette image de l'intérieur de modifier le texte
J'ai décidé de donner quelque chose en retour à la communauté et créé de la bibliothèque, qui vise à résoudre ce problème exact que Vous avez. La bibliothèque avec les exemple de projet est availeable sur GitHub: https://github.com/RafalManka/BubbleEditText