Android'de EditText görünümünde simge nasıl eklenir?


141

EditTextSol kenarda bir "arama" simgesi eklemek ister misiniz ? Facebook Android uygulamasında arama kutusu gibi?

Yanıtlar:


433

android:drawableLeftEditText üzerinde özelliği kullanın .

<EditText
    ...     
    android:drawableLeft="@drawable/my_icon" />

3
belirsiz soru için özür dilerim, ben bir düğme eklemek istiyorum, bu yüzden üzerine tıklayın, bazı eylem yapmak
Adham

20
Arama başlığı göz önüne alındığında, bu yalnızca beklediğim bir çözümdü.
Thomas Ahle

33
Ayrıca drawablePaddingözelliği kullanarak dolguyu ayarlayın .
Ryan R

bu çekilebilir simgenin boyutu ne olmalı ve hangi klasöre yerleştirmeliyim?
Kalpesh Lakhani

2
@KalpeshLakhani: Genellikle düzenleme metni ve çekilebilirler android tasarım yönergelerine göre 32dp olmalıdır: developer.android.com/design/style/metrics-grids.html
Lee Yi Hong

30

XML'de drawableLeft öğesini marcos tarafından önerilen şekilde ayarlayabilirsiniz , ancak bunu programlı olarak da ayarlamak isteyebilirsiniz - örneğin bir olaya yanıt olarak. Bunu yapmak için setCompoundDrawablesWithIntrincisBounds (int, int, int, int) yöntemini kullanın :

EditText editText = findViewById(R.id.myEditText);

// Set drawables for left, top, right, and bottom - send 0 for nothing
editTxt.setCompoundDrawablesWithIntrinsicBounds(R.drawable.myDrawable, 0, 0, 0);

Bu, "Sol Kenardaki" soruda açıkça belirtilen simge / görüntü için değil, EditText için arka plan ayarlar.
Paresh Mayani

@Paresh - bu yüzden cevabı sildim. Şimdi orijinal XML çözümüne ek olarak programlı bir çözüm içerecek şekilde düzenledim.
Peter Ajtai

1
ikonik olarak ikonu nasıl gizleyebilirim? düzenleme kutusu tıklandığında?
Hunt

1
@Hunt - nullGörünümü tıklatıldığında çizilebilir coumound'u ayarlayın .
Peter Ajtai

27

Android'in varsayılan çekilebilir aracını kullanmak istiyorsanız şu şekilde kullanabilirsiniz @android:drawable/ic_menu_search:

<EditText android:id="@+id/inputSearch"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:drawableLeft="@android:drawable/ic_menu_search"
    android:hint="Search product.."
    android:inputType="textVisiblePassword"/>


0

Göreli bir düzen kullanın ve düğmeyi, metin düzenleme görünümünün soluna hizalanacak şekilde ayarlayın ve metin görünümünüzün sol dolgusunu düğmenizin boyutuna ayarlayın. Ben sert kodlama olmadan bunu yapmak için iyi bir yol düşünemiyorum: /

Apk dosyasını açmak ve düzen dosyalarına bir göz atmak için apk aracını da kullanabilirsiniz .



Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.