2013-10-03 11 views
7

मुझे पॉपअप दिखाना है। मैंने इसे किया है लेकिन मैं इस पॉपअप की स्थिति निर्धारित करने में असमर्थ हूं। मुझे दोस्तों के लेबल के नीचे पॉपअप सेट करना होगा।पॉपअप की स्थिति सेट करने के लिए दिखाएं?

enter image description here

कोड:

_spinner = (Spinner) view.findViewById(R.id.group_spinner); 
_groupAdaptor = new ArrayAdapter(getActivity(), 
       android.R.layout.simple_spinner_dropdown_item, _itemGroupList); 
_spinner.setAdapter(_groupAdaptor); 
_spinner.setOnItemSelectedListener(this); 

और क्लिक पर मैं बोल रहा हूँ विधि की तरह:

_spinner.performClick(); 
+0

क्या आप अपना लेआउट कोड पोस्ट कर सकते हैं? – GrIsHu

+0

क्या आप एक कस्टम संवाद का उपयोग कर सकते हैं या आप इसे स्पिनर में चाहते हैं? –

उत्तर

1

मैंने लेआउट में कुछ सुधार से मेरी समस्या हल कर दी है। मैं मूर्खतापूर्ण गलती कर रहा था, स्पिनर दृश्य ठीक से संरेखित नहीं किया गया था।

<TextView 
       android:id="@+id/group_text" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerInParent="true" 
       android:text="@string/label_friends" 
       android:textColor="@android:color/white" /> 

      <ImageView 
       android:id="@+id/dropListImageview" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@id/group_text" 
       android:layout_centerHorizontal="true" 
       android:layout_marginTop="4dip" 
       android:background="@drawable/droplist" /> 

      <Spinner 
       android:id="@+id/group_spinner" 
       android:layout_width="150dip" 
       android:layout_height="20dip" 
       android:layout_centerHorizontal="true" 
       android:layout_below="@+id/group_text" 
       android:visibility="invisible" 
       /> 
+0

यहां सही समाधान क्या है? –

0

उपयोग यह मेरा काम कर कोड ..

Rect r = locateView(v);  
final PopupWindow popup = new PopupWindow(getActivity()); 
      popup.setAnimationStyle(R.style.animation); 
      popup.setContentView(layout); 
      popup.setHeight(WindowManager.LayoutParams.WRAP_CONTENT); 
      popup.setWidth(getActivity().getWindowManager().getDefaultDisplay().getWidth()/2); 
      popup.setFocusable(true); 
      popup.setBackgroundDrawable(new BitmapDrawable()); 
      popup.showAtLocation(layout, Gravity.TOP | Gravity.LEFT, r.right, r.bottom); 


public static Rect locateView(View v) { 
     int[] loc_int = new int[2]; 
     if (v == null) 
      return null; 
     try { 
      v.getLocationOnScreen(loc_int); 
     } catch (NullPointerException npe) { 
      return null; 
     } 
     Rect location = new Rect(); 
     location.left = loc_int[0]; 
     location.top = loc_int[1]; 
     location.right = loc_int[0] + v.getWidth(); 
     location.bottom = loc_int[1] + v.getHeight(); 
     return location; 
    } 
5

मैं भी में एक ही समस्या का सामना करना पड़ा मेरे आवेदन और spinier का उपयोग कर समाधान मिला। दोस्तों के क्लिक पर आपको केवल उपयोगकर्ता स्पिनियर ड्रॉप डाउन सूची करना है और उस मेनू में अपने विकल्प दिखाएं। यह तुम्हे मदद करेगा।

+2

उपयोगकर्ता 2119025 उत्तर का पेस्ट क्यों कॉपी करें? – GrIsHu

+0

इस उत्तर को ध्वजांकित करें @GrIsHu – Sameer

+1

असल में यह मेरी गलती है, यह मेरी खुद की आईडी है जो गलती से बनाई गई थी, मैं उस आईडी से उस उत्तर को हटा दूंगा। –

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