एंड्रॉइड में EditText व्यू के अंदर आइकन कैसे जोड़ें?


141

मैं EditTextबाएं किनारे में एक "खोज" आइकन जोड़ना चाहता हूं ? जैसे फेसबुक एंड्रॉयड ऐप में सर्च बॉक्स?

जवाबों:


432

android:drawableLeftEditText पर संपत्ति का उपयोग करें ।

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

3
अस्पष्ट प्रश्न के लिए खेद है, मैं एक बटन जोड़ना चाहता हूं, इसलिए जब उस पर क्लिक करें, तो यह कुछ कार्रवाई करता है
Adham

20
यह केवल समाधान था जिसकी मुझे उम्मीद थी, खोज शीर्षक दिया गया।
थॉमस अहले

32
इसके अलावा, drawablePaddingसंपत्ति का उपयोग करके पैडिंग को समायोजित करें ।
रयान आर

तो उस ड्रा करने योग्य आइकन का आकार क्या होना चाहिए और मुझे इसे किस फ़ोल्डर में रखना चाहिए?
कल्पेश लखानी

2
@KalpeshLakhani: आमतौर पर एडिटटेक्स्ट और ड्रॉएबल्स को एंड्रॉइड डिज़ाइन दिशानिर्देशों के अनुसार 32dp होना चाहिए: developer.android.com/design/style/metrics-grids.html
Lee Yi Hong

30

आप XML में drawableLeft सेट कर सकते हैं जैसा कि मार्कोस द्वारा सुझाया गया है , लेकिन आप इसे प्रोग्रामेटिक रूप से सेट करना चाहते हैं - उदाहरण के लिए किसी ईवेंट के जवाब में। इस विधि का उपयोग करने के लिए setCompoundDrawablesWithIntrincisBounds (int, int, int, int) :

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);

यह "लेफ्ट एज" पर आइकन / इमेज को नहीं, बल्कि एडिट टेक्स्ट को बैकग्राउंड सेट करता है, जो प्रश्न में स्पष्ट रूप से उल्लिखित है।
परेश मयानी

@Paresh - जिसके कारण मैंने उत्तर को हटा दिया। मैंने अब मूल XML समाधान के अलावा प्रोग्रामेटिक समाधान को शामिल करने के लिए संपादित किया है।
पीटर अज़ताई

1
प्रोग्राम को आइकन को छुपाने के लिए कैसे? जब संपादन बॉक्स पर क्लिक किया जाता है?
हंट

1
@ हंट - nullजब दृश्य क्लिक किया जाता है, तो बस कौएद को ड्रा करने योग्य सेट करें ।
पीटर अजताई

27

यदि आप Android के डिफॉल्ट ड्रॉबल का उपयोग करना चाहते हैं, तो आप @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"/>



-1

एक सापेक्ष लेआउट का उपयोग करें और बटन को संपादित पाठ दृश्य के बाईं ओर संरेखित करें, और अपने पाठ दृश्य के बाईं गद्दी को अपने बटन के आकार में सेट करें। मैं हार्ड कोडिंग के बिना इसे करने का एक अच्छा तरीका नहीं सोच सकता: /

आप facebook टूल को सॉर्ट करने के लिए एपीके टूल का भी उपयोग कर सकते हैं और इसकी लेआउट फ़ाइलों पर एक नज़र डाल सकते हैं।


1
मैं यह उल्लेख करना चाहूंगा कि पूरे यूरोपीय संघ में उदाहरण के लिए कई देशों में
विघटन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.