2011-08-24 7 views
2

Je suis en train de créer un EditText qui a les images de fond suivantes (aligné à droite) lorsqu'un utilisateur entre le texte valide/invalide:image de fond EditText - aligner à droite

tick

cross

Comment puis-je y parvenir sur Android? J'ai essayé de définir l'image de fond en utilisant:

editText.setBackgroundResource(R.id.icon_tick), mais quand je fais cela, toute l'image est étirée pour s'adapter à l'EditText.

+0

ne devrait pas être 'R.drawable.icon_tick' – Ronnie

Répondre

4

editText.setCompoundDrawables (gauche, haut, droite, bas) où left, top, right et bottom sont drawables ou null.

+0

Salut! Ça marche! Merci beaucoup, – Eamorr

+0

De rien! – superM

2

Pourquoi est-ce que ce doit être une image de fond? Juste en faire une image standard et placez-le en conséquence dans votre mise en page. Sinon, vous devrez créer une grande image qui occupera l'intégralité de l'arrière-plan de votre vue (avec vos icônes positionnées là où vous le souhaitez). Vous devrez également dimensionner cette image en conséquence pour les différentes résolutions d'écran.

Une autre approche peut également être trouvée ici:

Background Image Placement

possible après double.

1

Vous pouvez faire en sorte que le dessin soit neuf image de patch. Avoir une zone transparente à gauche de la marque de graduation et la définir comme zone étirable. Cela devrait faire l'affaire.

+0

Salut, merci beaucoup pour la réponse. Je ne suis pas tout à fait ... – Eamorr

+1

Vous savez faire des images PNG 9-patch? Je suppose que le vôtre est un simple dessin PNG. Convertissez-le en 9-patch. Lors de la conversion, ajoutez une zone transparente sur le côté gauche de vos images (croix et coche) et définissez cette région comme extensible horizontalement. C'est la solution la plus simple. Vous pourriez avoir besoin de l'aide d'un graphiste. – Ronnie