J'ai un formulaire de contact dans lequel je voudrais ajouter quelques icônes à mon texte édité pour une meilleure apparence. Je veux créer EditText quelque chose comme ci-dessous.
J'ai EditText comme ci-dessous. Et j'ai le résultat quelque chose comme. Je veux que l'image soit absolument à gauche comme dans l'image ci-dessus. Je sais qu'en interne, EditText utilise une image à neuf correctifs et je pense que c'est pourquoi le résultat est différent. Quelqu'un peut-il savoir comment résoudre ce problème?
<EditText
Android:id="@+id/name"
Android:layout_width="fill_parent"
Android:layout_height="51dip"
Android:hint="@string/name"
Android:inputType="text"
Android:drawableLeft="@drawable/name_icon_edittext" />
Au lieu d'utiliser Android:drawableLeft="@drawable/name_icon_edittext"
, créez separImageView
pour le name_icon
. De cette façon, vous avez plus de contrôle pour le placer sur la layout
name__
Remarque: Je suppose que votre layout
est RelativeLayout
name__
si vous voulez ajouter de l'espace entre votre texte et votre image, utilisez la propriété 'DrawablePadding' en XML
Android:drawablePadding="10dp"
voici un exemple complet comment utiliser edittext dans un fichier xml
<EditText
Android:id="@+id/edittext"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:drawableLeft="@drawable/ic_left"
Android:drawablePadding="10dp" />
Vous pouvez utiliser la propriété Android:drawablePadding="10dp"
dans le fichier xml. Il n'est pas nécessaire de créer une image séparée pour l'icône.
Un peu vieux, mais pour référence future peut-être:
Je créerais moi-même une image de 9 correctifs avec l'apparence souhaitée, en conservant les proportions et tout sauf l'icône, afin que vous puissiez l'ajouter vous-même (et réutiliser l'arrière-plan) avec la propriété drawableLeft
de EditText
. De cette façon, seule la partie centrale de l'image sera étirée, mais le reste ne changera pas.