2013-10-03 17 views
7

muszę pokazać popup. Zrobiłem to, ale nie jestem w stanie ustawić pozycji tego okna. muszę ustawić okienko poniżej Przyjaciół na etykiecie.Pokaż, aby ustawić pozycję popup?

enter image description here.

Kod:

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

I na kliknięcie Wołam metoda jak:

_spinner.performClick(); 
+0

Czy możesz umieścić swój kod układu? – GrIsHu

+0

Czy możesz użyć niestandardowego okna dialogowego lub chcesz, aby był on w pokrętle? –

Odpowiedz

1

Mam rozwiązać mój problem przez jakiś korekty w układzie. robiłem głupi błąd, widok Spinner nie zostało prawidłowo ustawione.

<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

Jakie jest dokładne rozwiązanie tutaj? –

0

Korzystanie ten mój kod roboczych ..

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

również w obliczu tego samego problemu moja aplikacja i znalazłem rozwiązanie za pomocą spiniera. To, co musisz zrobić, to tylko lista rozwijana z kliknięciem znajomych i pokaż opcje w tym menu. To ci pomoże.

+2

Dlaczego skopiować pasty user2119025 odpowiedź? – GrIsHu

+0

Zgłoś tę odpowiedź @GrIsHu – Sameer

+1

W rzeczywistości jest to mój błąd, to jest mój własny identyfikator, który został utworzony przez pomyłkę, dlatego usunę tę odpowiedź z tego identyfikatora. –

Powiązane problemy