2012-03-28 18 views
5

मैं कोड का पालन करके स्क्रीन के अधिकांश बाईं ओर ListPopupWindow प्रदर्शित कर सकता हूं।स्क्रीन के अधिकांश बाईं ओर प्रदर्शित सूचीपॉपविंडो

@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);" बहुत बुरा है क्या कोई अन्य समाधान है?

+1

सबसे बाहरी लेआउट होने की कोशिश/लंगर के रूप में और एक 0. की भरपाई या आप भी एक PopupWindow का उपयोग करें और के रूप में x और y दे सकते हैं के साथ गतिविधि के ViewGroup 0 – Varun

+1

क्या मैं घर आइकन में एंकर कर सकता हूं? – dadachi

+1

आप घर आइकन पर एंकर कर सकते हैं, दृश्य प्राप्त करने के लिए 'findViewById (android.R.id.home) 'का उपयोग करें। स्क्रीन के बाएं किनारे के साथ पॉपअप फ्लश नहीं होगा; घर के आइकन में बाईं ओर कुछ मार्जिन है ("अप" affordance तीर के लिए जगह बनाने के लिए)। – Karakuri

उत्तर

-1

यहाँ ListPopupWindow उदाहरण है,

 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(); 
संबंधित मुद्दे