2012-09-16 25 views
8

Estoy teniendo un formulario de contacto en el que me gustaría agregar algunos iconos a mi texto de edición para una mejor visión. Quiero crear EditText algo como a continuación.Establecer imagen en el lado izquierdo de EditText en Android

enter image description here

que tienen EditarTexto como a continuación. Y obtuve el resultado algo así como. Quiero que la imagen esté absolutamente en el lado izquierdo como está en la imagen de arriba. Sé que internamente EditText está usando la imagen de Nueve Parches y creo que es por eso que el resultado es algo diferente. ¿Alguien puede saber cómo resolver esto?

enter image description here

<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" /> 
+2

Did Intenta estableciendo la propiedad android: paddingLeft. –

+0

Muchas gracias ... – Scorpion

Respuesta

9

En lugar de utilizar android:drawableLeft="@drawable/name_icon_edittext", crear separada ImageView para la name_icon. esta manera usted tiene más control sobre su puesta en el layout

Nota: Estoy asumiendo su layout es RelativeLayout

+0

sí, mi diseño es de diseño relativo ... Gracias por su sugerencia, pero si creo Imageview en lugar de dibujado a la izquierda, ¿cómo será útil en términos de más control? ¿Puedes decirme cómo es beneficioso para la aplicación? Está relacionado con el rendimiento o algo – Scorpion

+0

Espero que compruebes tu diseño en algunas pantallas de resolución diferente y que lo verifiques, de lo contrario, si necesitas algo de afinación, puedes configurar el margen y el margen de manera más flexible como mencioné anteriormente –

0

Un poco viejo, pero para referencia futura quizá:

lo haría una Imagen de 9 parches con la apariencia que desea, manteniendo las proporciones y todo excepto el icono, para que pueda agregarlo usted mismo (y reutilizar el fondo) con la propiedad drawableLeft de EditText. De esa manera, solo se estirará la parte central de la imagen, pero el resto permanecerá igual.

5

si desea añadir un poco de espacio entre usted texto y la imagen a continuación use'drawablePadding' propiedad en XML

android:drawablePadding="10dp" 

aquí es ejemplo completo de cómo utilizar en EditarTexto en el archivo xml

   <EditText 
       android:id="@+id/edittext" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:drawableLeft="@drawable/ic_left" 
       android:drawablePadding="10dp" /> 
Cuestiones relacionadas