2013-10-03 17 views
7

Tôi phải hiển thị cửa sổ bật lên. Tôi đã làm điều đó nhưng tôi không thể thiết lập vị trí của cửa sổ bật lên này. Tôi phải đặt bật lên ở bên dưới nhãn bạn bè.Hiển thị để đặt vị trí bật lên?

enter image description here.

Code:

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

Và trên nhấp chuột Tôi gọi phương pháp như:

_spinner.performClick(); 
+0

Bạn có thể đăng mã bố cục của mình không? – GrIsHu

+0

Bạn có thể sử dụng hộp thoại tùy chỉnh hoặc bạn muốn hộp thoại trong hộp xoay tròn không? –

Trả lời

1

Tôi đã giải quyết được sự cố của mình bằng một số sửa đổi trong bố cục. Tôi đã mắc lỗi ngớ ngẩn, chế độ xem Spinner không được căn chỉnh đúng cách.

<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

Giải pháp chính xác ở đây là gì? –

0

Sử dụng mã này làm việc của tôi ..

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

Tôi cũng phải đối mặt với cùng một vấn đề trong ứng dụng của tôi và tìm ra giải pháp bằng cách sử dụng spinier. Những gì bạn phải làm chỉ là danh sách thả xuống của người dùng spinier trong khi nhấp vào bạn bè và hiển thị các tùy chọn của bạn trong menu đó. Nó sẽ giúp bạn.

+2

Tại sao phải sao chép dán câu trả lời của người dùng2119025? – GrIsHu

+0

Gắn cờ câu trả lời này @GrIsHu – Sameer

+1

Thực ra đó là lỗi của tôi, đó là id của riêng tôi đã được tạo ra bởi một sai lầm tôi sẽ xóa câu trả lời đó khỏi id đó. –

Các vấn đề liên quan