एंड्रॉइड में EditText पर ड्रॉएबल इमेज जोड़ने का तरीका
यह ट्यूटोरियल दिखाता है कि android:drawableRight या android:drawableStart एट्रिब्यूट का उपयोग करके EditText में आइकन/इमेज कैसे जोड़ें, साथ ही कस्टम बैकग्राउंड के साथ।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio में File → New Project चुनें।
चरण 2: लेआउट में EditText जोड़ें (res/layout/activity_main.xml)
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
android:layout_marginTop="30dp"
tools:context=".MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:paddingStart="5dp"
android:background="@drawable/rounded_edittext"
android:drawableRight="@android:drawable/ic_menu_search"
android:paddingLeft="5dp" />
</LinearLayout>
यहां android:drawableRight सिस्टम सर्च आइकन दाईं ओर जोड़ता है। आप android:drawableStart, android:drawableEnd, android:drawableTop, android:drawableBottom भी उपयोग कर सकते हैं।
चरण 3: कस्टम बैकग्राउंड ड्रॉएबल (drawable/rounded_edittext.xml)
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="https://schemas.android.com/apk/res/android">
<solid android:color="#FFFFFF" />
<stroke
android:width="1dp"
android:color="#2f6699" />
<corners
android:radius="10dp" />
</shape>
यह गोल कोनों वाला सफेद बैकग्राउंड नीले बॉर्डर के साथ बनाता है।
कोड के बिना पूरा समाधान
इसके लिए कोई Java/Kotlin कोड आवश्यक नहीं है - सब कुछ XML में होता है। आप प्रोग्रामेटिक रूप से भी सेट कर सकते हैं:
// Java में editText.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.your_icon, 0); // Kotlin में editText.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, R.drawable.your_icon, 0)
अतिरिक्त टिप्स
android:drawablePaddingसे टेक्स्ट और इमेज के बीच स्पेस जोड़ेंandroid:drawableTintसे इमेज का रंग बदलें (API 23+)- क्लिक इवेंट के लिए
setOnTouchListenerउपयोग करें औरgetCompoundDrawables()जांचें - Vector Drawables (.xml) का उपयोग करें बेहतर स्केलिंग के लिए
ऐप चलाएं
डिवाइस कनेक्ट करें, Run क्लिक करें। सर्च आइकन के साथ गोल EditText दिखाई देगा।