2012-09-16 6 views
8

Ich habe ein Kontaktformular, in dem ich einige Symbole zu meinem Bearbeitungstext für ein besseres Aussehen hinzufügen möchte. Ich möchte EditText wie folgt erstellen.Bild auf der linken Seite von EditText in Android setzen

enter image description here

Ich habe EditText wie unten. Und ich habe das Ergebnis so ähnlich. Ich möchte, dass das Bild absolut auf der linken Seite ist, wie im obigen Bild. Ich weiß, dass EditText intern Nine Patch-Image verwendet und ich denke, das ist der Grund, warum das Ergebnis etwas anders ist. Kann jemand wissen, wie man das löst?

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 Sie versuchen, indem Sie Androiden: paddingLeft Eigenschaft festlegen. –

+0

Vielen Dank ... – Scorpion

Antwort

9

Statt android:drawableLeft="@drawable/name_icon_edittext" verwenden, erstellen Sie für die name_icon separaten ImageView. diese Weise können Sie mehr Kontrolle über sie auf den Hinweis layout

Abdrucken: Ich gehe davon aus Ihrer layoutRelativeLayout ist

+0

Ja, mein Layout ist relativ Layout ... Danke für Ihren Vorschlag, aber wenn ich Imageview statt Drawable links erstellen, als wie es in Bezug auf mehr Kontrolle nützlich sein wird? Kannst du mir bitte sagen, wie es für die App von Vorteil ist? Ist es in Bezug auf die Leistung oder etwas – Scorpion

+0

Ich hoffe, Sie überprüfen Sie Ihr Layout auf einigen verschiedenen Auflösung Bildschirm und überprüfen Sie es, sonst, wenn Sie ein Tuning brauchen, könnten Sie die Polsterung und Marge flexibler wie oben erwähnt –

0

Ein bisschen alt, aber für die Zukunft vielleicht:

Ich würde ein tun 9-patch Bild mit dem Aussehen, das Sie wollen, behalten die Proportionen und alle außer dem Symbol, so dass Sie es selbst hinzufügen können (und den Hintergrund wiederverwenden) mit drawableLeft Eigentum von EditText. Auf diese Weise wird nur der mittlere Teil des Bildes gestreckt, aber der Rest bleibt gleich.

5

wenn Sie wollen dann etwas Platz zwischen Text und Bild hinzufügen use'drawablePadding‘Eigenschaft in xml

android:drawablePadding="10dp" 

hier ist komplettes Beispiel, wie in EditText in xml-Datei verwenden

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