2012-03-28 4 views
5

Ich könnte ListPopupWindow auf der linken Seite des Bildschirms mit dem folgenden Code anzeigen.Display ListPopupWindow auf der linken Seite des Bildschirms

@Override 
public View onCreateActionView() { 
    LayoutInflater layoutInflater = LayoutInflater.from(mContext); 

    final View actionItem = layoutInflater.inflate(R.layout.list_table_view_action_provider, null); 

    final ImageButton button = (ImageButton) actionItem.findViewById(R.id.button); 
    button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      mListPopupWindow = new ListPopupWindow(mContext); 
      mListPopupWindow.setAnchorView(actionItem); 
      mListPopupWindow.setAdapter(mAdapter); 
      mListPopupWindow.setModal(true); 
      mListPopupWindow.setContentWidth(150); 

      // Display mListPopupWindow on most left of the screen 
      mListPopupWindow.setHorizontalOffset(-1000); 


      mListPopupWindow.setOnItemClickListener(ListTableViewActionProvider.this); 

      mListPopupWindow.show(); 
      mListPopupWindow.setOnDismissListener(ListTableViewActionProvider.this); 
     } 
    }); 

    return actionItem; 
} 

"mlistPopupWindow.setHorizontalOffset (-1000);" ist schade. Gibt es andere Lösungen? Hier

+1

versuchen, das äußerste Layout mit/Viewgroup der Tätigkeit als Anker und mit einem Versatz von 0. oder Sie können auch eine PopupWindow verwenden und geben x und y 0 – Varun

+1

Kann ich im Home-Icon verankern? – dadachi

+1

Sie können mit dem Home-Symbol verankern, verwenden Sie 'findViewById (android.R.id.home)', um die Ansicht zu erhalten. Das Popup wird jedoch nicht mit dem linken Rand des Bildschirms fluchten; das Home-Icon hat links einen Rand (um Platz für den "up" -Affizierpfeil zu schaffen). – Karakuri

Antwort

-1

ist das ListPopupWindow Beispiel

 View menuItemView = getActivity().findViewById(R.id.menu_filter); 
     ListPopupWindow popup  = new ListPopupWindow(getActivity()); 

     popup.setHorizontalOffset(-200); 
     popup.setVerticalOffset(-100); 

     popup.setAnchorView(menuItemView); 
     popup.setWidth(400); 
     popup.setModal(true); 
     popup.setHeight(ListPopupWindow.WRAP_CONTENT); 

     ListAdapter adapter = new MyAdapter(getActivity()); 
     popup.setAdapter(adapter); 

     popup.show(); 
Verwandte Themen