2012-11-08 7 views
7

में इसके बाहर क्लिक करते हैं तो लोडिंग स्पिनर छुपाएं मैं आइटमों के सेट के साथ लोडिंग स्पिनर एनीमेशन का उपयोग कर रहा हूं। यदि आप इसके बाहर क्लिक करते हैं, तो यह गायब होना चाहिए। क्या किसी को भी पता है की यह कैसे किया जाता है?जब आप एंड्रॉइड

Spinner

मैं इस कोशिश की है। यह EditText के साथ काम कर रहा है। लेकिन यह Spinner

@Override 
public boolean dispatchTouchEvent(MotionEvent event) { 
    View view = getCurrentFocus(); 
    boolean ret = super.dispatchTouchEvent(event); 

    if (view instanceof EditText||view instanceof Spinner) { 
     View w = getCurrentFocus(); 
     int scrcoords[] = new int[2]; 
     w.getLocationOnScreen(scrcoords); 
     float x = event.getRawX() + w.getLeft() - scrcoords[0]; 
     float y = event.getRawY() + w.getTop() - scrcoords[1]; 

     if (event.getAction() == MotionEvent.ACTION_UP 
&& (x < w.getLeft() || x >= w.getRight() 
|| y < w.getTop() || y > w.getBottom())) { 
      InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(getWindow().getCurrentFocus().getWindowToken(), 0); 
     } 
    } 
return ret; 
} 

अग्रिम में धन्यवाद के लिए काम नहीं कर रहा है।

+0

http://stackoverflow.com/questions/8384067/how-to-dismiss-the-dialog-with-click-on-outside-of-the-dialog/8384124#8384124 – user370305

+1

मैं पहले से ही इस लिंक को देखता हूं । लेकिन यह एक संवाद के लिए संभव होगा लेकिन स्पिनर नहीं। –

+0

आपको अपनी गतिविधि विंडो (स्पिनर के बाहर) का स्पर्श देखना होगा। मैंने उस जवाब में उल्लेख किया था। – user370305

उत्तर

0

वहाँ Dialoglink

तो क्यों आप एक कस्टम संवाद (simple example) जो एक स्पिनर की तरह दिखता होगा बनाने की कोशिश नहीं करते के लिए एक समाधान है? Radiobuttons के साथ अपने संवाद के लिए एक लेआउट फ़ाइल बनाएँ।

उपयोगकर्ता एक radiobutton क्लिक करता है, dialog.dismiss() फोन और आवश्यक कोड अगले

+0

आपके उत्तर के लिए धन्यवाद। मैंने आपके द्वारा प्रदान किए गए लिंक से पहले ही जांच की है। –

+0

बिंदु 'संवाद' के स्टाइललाइजेशन में 'स्पिनर' के रूप में है, लिंक में नहीं। 'संवाद' का उपयोग करने का प्रयास करें, इसे उत्तर के लिए धन्यवाद 'स्पिनर' –

1

क्या मैं personaly setSingleChoiceItems() के साथ एक कस्टम AlertDialog बनाने के लिए एक ही बात करने के लिए था है। तब मैंने setCanceledOnTouchOutside() का उपयोग किया।

+0

के समान बनाएं। मैंने इसे अपने पिछले आवेदन में आजमाया और सफल भी हुआ। लेकिन यहां मेरी आवश्यकता स्पिनर के लिए है। AlertDialog के लिए नहीं। अगर आपको पता है कि कृपया मुझे मदद करें –

+0

आप 'स्पिनर' एक्शन 'ऑनक्लिक()' को पकड़ सकते हैं और 'अलर्टडिअलॉग' चला सकते हैं, मुझे नहीं लगता कि क्या मुश्किल है। – shkschneider

संबंधित मुद्दे