2012-09-16 14 views
8

Mam jeden formularz kontaktowy, w którym chciałbym dodać kilka ikon do edytowanego tekstu, aby uzyskać lepszy wygląd. Chcę stworzyć EditText coś jak poniżej.Ustaw obraz po lewej stronie EditText w Androidzie

enter image description here

mam EditText jak poniżej. I uzyskałem wynik czegoś takiego. Chcę, aby obraz był absolutnie po lewej stronie, tak jak na powyższym obrazku. Wiem, że wewnętrznie EditText używa obrazu dziewięciu łatek i myślę, że dlatego wynik jest nieco inny. Czy ktoś wie, jak rozwiązać ten problem?

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 próbujesz, ustawiając właściwość android: paddingLeft. –

+0

Dziękuję bardzo ... – Scorpion

Odpowiedz

9

Zamiast android:drawableLeft="@drawable/name_icon_edittext" utworzyć oddzielną ImageView dla name_icon. ten sposób masz większą kontrolę na umieszczenie go na layout

Uwaga: jestem zakładając swój layout jest RelativeLayout

+0

Tak, mój układ jest względny układ ... Dzięki za sugestię, ale jeśli utworzyć Imageview zamiast drawable lewo niż w jaki sposób będzie to przydatne w zakresie większej kontroli? Czy możesz mi powiedzieć, jak to jest korzystne dla aplikacji? Czy jest to związane z wydajnością lub czymś w rodzaju – Scorpion

+0

Mam nadzieję, że sprawdzisz swój układ na kilku różnych ekranach rozdzielczości i zweryfikujesz, w przeciwnym razie, jeśli potrzebujesz strojenia, możesz ustawić dopełnienie i margines w bardziej elastyczny sposób, jak wspomnę powyżej –

0

nieco stary, ale w przyszłości może:

Chciałbym zrobić 9-plasterkowy obraz z wyglądem, jaki chcesz, zachowując proporcje i wszystko poza ikoną, dzięki czemu możesz dodać je samodzielnie (i ponownie użyć tła) z właściwością drawableLeft z EditText. W ten sposób tylko środkowa część obrazu zostanie rozciągnięta, ale reszta pozostanie taka sama.

5

jeśli chcesz dodać trochę miejsca między wami tekstu i obrazu następnie use'drawablePadding”nieruchomość w xml

android:drawablePadding="10dp" 

tutaj jest pełna przykładów, jak używać w EditText w pliku xml

   <EditText 
       android:id="@+id/edittext" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:drawableLeft="@drawable/ic_left" 
       android:drawablePadding="10dp" /> 
Powiązane problemy