2013-07-01 1 views
3

나는 PopupMenu를 사용하고 있는데, 내가 클릭 한 buttton 아래 팝업 메뉴의 위치를 ​​수정해야하지만 위의 내 버튼은 내가하는 코드입니다. this is output what i get.팝업 메뉴의 위치를 ​​설정하는 방법은 무엇입니까?

저를 도와주세요 : 아래

private final static int ONE = 1; 
private final static int TWO = 2; 
private final static int THREE = 3; 

PopupMenu popupMenu = new PopupMenu(context, convertView.findViewById(R.id.txtOverflowIconList_item_Egov)); 

       popupMenu.getMenu().add(Menu.NONE, ONE, Menu.NONE, "Item 1"); 
       popupMenu.getMenu().add(Menu.NONE, TWO, Menu.NONE, "Item 2"); 
       // popupMenu.getMenu().add(Menu.NONE, THREE, Menu.NONE, "Item 3"); 

       popupMenu.setOnMenuItemClickListener(new OnMenuItemClickListener() { 
        @Override 
        public boolean onMenuItemClick(MenuItem item) { 

         switch (item.getItemId()) { 
         case ONE: 
          Toast.makeText(context, "first ", 100).show(); 
          break; 
         case TWO: 
          Toast.makeText(context, "Two ", 100).show(); 
          break; 
         } 
         return false; 
        } 
       }); 


       holder.txtOverflowIcon.setOnClickListener(new OnClickListener() { 
        public void onClick(View arg0) { 
         popupMenu.show(); 
        } 
       }); 

내가 무엇을 얻을 일 출력됩니다.

+0

은 팝업 메뉴 알림 대화 상자입니까? –

+0

@MukeshKumar : 아니요 – Suraj

답변

0

팝업 메뉴는 항상보기 (단추)에 고정되어 있으며 사용 가능한 공간에 따라 첨부 된보기의 위 또는 아래에 항상 나타납니다.

필요에 따라 메뉴를 배치하려면 대화 상자를 사용하여 팝업 창을 사용하는 것이 좋습니다.

1

그 문제를 해결할 수 있습니다. 당신은 당신이 HorizontalOffset을 설정하는 팝업을 표시하려면이

 popupMenu.show(); 
     if (popupMenu.getDragToOpenListener() instanceof ListPopupWindow.ForwardingListener) { 
      ListPopupWindow.ForwardingListener listener = (ListPopupWindow.ForwardingListener) popupMenu 
        .getDragToOpenListener(); 
      listener.getPopup().setHorizontalOffset(x); 
      listener.getPopup().setVerticalOffset(y); 

      listener.getPopup().show(); 
     } 

앵커보기 또는 버튼의 위치를 ​​계산처럼 할 필요가 https://stackoverflow.com/a/29702608/1185087

1

대신 popupMenu.show(); 다음 PopupMenuActionBar에서처럼 발표 할 예정이다 (x) 및 VerticalOffset (y).

관련 문제