2012-09-16 18 views
8

Sto avendo un modulo di contatto in cui vorrei aggiungere alcune icone al mio testo di modifica per un aspetto migliore. Voglio creare EditText qualcosa come sotto.Imposta immagine sul lato sinistro di EditText in Android

enter image description here

devo EditText come qui di seguito. E ho ottenuto il risultato qualcosa di simile. Voglio che l'immagine sia assolutamente sul lato sinistro come nell'immagine sopra. So che internamente EditText sta usando l'immagine di Nove Patch e penso che sia per questo che il risultato sia un po 'diverso. Qualcuno sa come risolvere questo?

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

Forse provi impostando Android: paddingLeft property. –

+0

Grazie mille ... – Scorpion

risposta

9

Invece di usare android:drawableLeft="@drawable/name_icon_edittext", creare separata ImageView per il name_icon. questo modo si ha un maggiore controllo sulla sua immissione sul layout

Nota: Io parto dal presupposto tua layout è RelativeLayout

+0

sì il mio layout è relativo layout ... Grazie per il tuo suggerimento ma se creo Imageview invece di drawable a sinistra di quanto sarà utile in termini di maggiore controllo? Puoi dirmi per favore quanto è vantaggioso per l'app? È legato alle prestazioni o qualcosa del genere – Scorpion

+0

Spero che controlli il tuo layout su una schermata di risoluzione diversa e lo verifichi, altrimenti se hai bisogno di un tuning potresti impostare il padding e il margine in modo più flessibile come ho detto sopra –

0

Un po 'vecchio, ma per riferimento futuro forse:

mi farebbe una Immagine a 9 patch con l'aspetto desiderato, mantenendo le proporzioni e tutte tranne l'icona, in modo che sia possibile aggiungerla (e riutilizzare lo sfondo) con la proprietà drawableLeft di EditText. In questo modo solo la parte centrale dell'immagine verrà allungata, ma il resto rimarrà lo stesso.

5

se si desidera aggiungere un po 'di spazio tra te testo e immagine poi use'drawablePadding' immobile in xml

android:drawablePadding="10dp" 

qui è esempio completo come utilizzare in EditText in file xml

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