EditText का फ़ोकस बॉर्डर निकालें


83

एडिटटेक्स्ट व्यू को फोकस करते समय मैं बॉर्डर को कैसे हटा सकता हूं?

मुझे इसकी आवश्यकता है क्योंकि इस दृश्य की स्क्रीन में बहुत कम जगह है, लेकिन सीमा के बिना यह पर्याप्त है। एमुलेटर पर चलने पर ऑरेंज बॉर्डर दिखाई देता है, डिवाइस ब्लू पर।


मुझे नहीं पता कि क्या यह संभव है ... आप हमेशा अपने कस्टम बटन बना सकते हैं, थोड़ा छोटा।
gnclmorais

जवाबों:


188

क्या आपने EditTextपारदर्शी रंग की पृष्ठभूमि स्थापित करने की कोशिश की है ?

<EditText  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:hint="@string/hello" 
android:background="#00000000"
/>

21
"@android:color/transparent"थोड़ा और अधिक आत्म व्याख्या है।
अलेक्जेंडर मालाखोव

7
"@null"एक विकल्प भी हो सकता है
मंगेश

3
यह उत्तर सही नहीं है, क्योंकि यह न केवल फ़ोकस बॉर्डर को हटाता है, बल्कि एडिटटेक्स्ट बैकग्राउंड को भी फोकस नहीं करता है।
जेनजेनसेन

@ मिचेल हाँ, क्योंकि हेक्स 0 और 00000 समान है। अभी भी शून्य है।
ब्रिल पप्पिन

39
<EditText
            android:id="@+id/edittext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"  
            android:background="@android:drawable/editbox_background_normal"                 

 />

12

हो सकता है। हालाँकि, मैं इसकी अनुशंसा नहीं करूँगा क्योंकि उपयोगकर्ताओं का उपयोग कुछ निश्चित रूप से किया जाता है और आपको सामान्य UX को नहीं बदलना चाहिए।

आप अपने विचारों के लिए विभिन्न शैलियों को लागू कर सकते हैं। आपके मामले में ऐसा लगता है कि आप एक EditText View तत्व चाहते हैं, जो एक TextView तत्व की तरह दिखता है। इस मामले में आपको View तत्व की स्थिति के आधार पर EditText के लिए अन्य पृष्ठभूमि निर्दिष्ट करनी होगी।

अपने इच्छित लेआउट में। Xml आप अपने EditText को एक पृष्ठभूमि प्रदान करते हैं:

<EditText  
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:hint="@string/hello" android:background="@drawable/custom"
/>

फिर आप अपने ड्रा करने योग्य फ़ोल्डर में custom.xml बनाएं और निम्नलिखित जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
  <item android:state_window_focused="false" android:state_enabled="true"
    android:drawable="@drawable/textfield_default" />
  <item android:state_window_focused="false" android:state_enabled="false"
    android:drawable="@drawable/textfield_disabled" />
  <item android:state_pressed="true" android:drawable="@drawable/textfield_default" />
  <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/textfield_default" />
  <item android:state_enabled="true" android:drawable="@drawable/textfield_default" />
  <item android:state_focused="true" android:drawable="@drawable/textfield_disabled" />
  <item android:drawable="@drawable/textfield_disabled" />
</selector>

वे आपके EditText व्यू तत्व के संभावित राज्य हैं। आम तौर पर आप सीधे उपयोग करके एंड्रॉइड प्लेटफॉर्म ड्रॉबल्स तक पहुंच सकते हैं @android:drawable/textfield_default, लेकिन इस मामले में टेक्स्टफील्ड ड्रॉज निजी हैं, इसलिए आपको उन्हें अपने ड्रॉ करने योग्य फ़ोल्डर में कॉपी करना होगा। मूल संसाधन आपके SDK संस्थापन फ़ोल्डर में मिल सकते हैं ANDROID_HOME\platforms\android-(API LEVEL)\data\res\drawable-(*dpi)\

एक बार जब आप कर लेते हैं तो आप एक EditText के साथ समाप्त हो जाते हैं जो एक TextView की तरह दिखता है लेकिन पूरी तरह से उन सीमाओं के बिना। जिन नारंगी सीमाओं को आपने एमुलेटर में देखा था वे डिफ़ॉल्ट एंड्रॉइड ड्रॉबल्स हैं। नीले रंग के विक्रेता विशिष्ट हैं (संभवतः सैमसंग)।

आशा है कि मदद की और इतना भ्रमित नहीं किया।


मैं जल्द ही इसका परीक्षण करने जा रहा हूं। और यह गैलेक्सी टैब के लिए है।
मार्कोस वास्कोनसेलोस

अच्छा .. यह काम कर सकता है। लेकिन मैं उन सभी पृष्ठभूमि को आकर्षित नहीं करना चाहता। मुझे केवल डिफ़ॉल्ट एक की सीमा को हटाने की आवश्यकता है, यह संभव नहीं है?
मार्कोस वास्कोनसेलोस

जो उदाहरण मैंने पोस्ट किया है वह मूल कार्यान्वयन से लिया गया है। EditText बॉर्डर व्यक्तिगत रूप से तैयार नहीं है। यह एक पूर्ण पृष्ठभूमि छवि है जो दृश्य तत्व की वर्तमान स्थिति के आधार पर सेट की गई है। आंतरिक रूप से एंड्रॉइड प्लेटफॉर्म हर बार एक पूर्ण पृष्ठभूमि छवि सेट करता है। आप अपने SDK इंस्टालेशन में ANDROID_HOME \ प्लेटफार्मों \ android- (API LEVEL) \ data \ res \ drawable - (* dpi) \ पर नौ-पैच छवियां देख सकते हैं।
मारियोबी।


0

फोकस पर EditText बॉर्डर को हटाने के लिए आप पृष्ठभूमि का रंग पारदर्शी रख सकते हैं।

विधि 1

<EditText 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#00000000"
/>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.