2013-07-01 50 views
1

如何在應用程序中創建溢出菜單。但我不希望操作欄中的溢出菜單。但我希望它可以附加到應用程序中的任何位置。我看到過一個類似的音樂應用程序。我不想將它包含在我的應用程序中。我將圖像附加到相同的位置。創建溢出選項(不在操作欄中)

enter image description here 點擊圖像..上的下拉菜單將類似於操作欄中的溢出菜單。任何人都可以告訴我該怎麼做。任何幫助將不勝感激。

+1

擴展['PopupMenu'](https://developer.android.com/reference/android/widget/PopupMenu.html)類。 –

+0

它的工作。謝謝。 :) – Android

回答

0

User117評論是有幫助和爲我工作。

您可以使用此類並創建任何小部件的溢出菜單。 請參閱Pop up menu link

private void setOverflowMenu(View view) 
    { 
     popup = new PopupMenu(getActivity(), view.findViewById(R.id.image_overflow)); 
     popup.getMenu().add(Menu.NONE, OPTION1, Menu.NONE, "My option 1"); 
     popup.getMenu().add(Menu.NONE, OPTION2, Menu.NONE, "My option 2"); 
     popup.getMenu().add(Menu.NONE, OPTION3, Menu.NONE, "My option 3"); 
     popup.setOnMenuItemClickListener(this); 
    } 

從片段調用,從而傳遞view作爲參數。如果從活動中調用,則可以直接調用此方法。 view.findViewById(R.id.image_overflow)是我需要附加菜單的圖像。然後實現在我的課PopupMenu.OnMenuItemClickListener迫使我實施以下方法

@Override 
public boolean onMenuItemClick(MenuItem item) 
{ 
    switch (item.getItemId()) 
    { 
    case OPTION1: 
     Toast.makeText(getActivity(), "OPTION1 clicked", Toast.LENGTH_LONG).show(); 
     break; 
    case OPTION2: 
     Toast.makeText(getActivity(), "OPTION2 clicked", Toast.LENGTH_LONG).show(); 
     break; 
    case OPTION3: 
     Toast.makeText(getActivity(), "OPTION3 clicked", Toast.LENGTH_LONG).show(); 
     break; 
    } 

    return false; 
} 

那它。每件事情都有效。並且不要忘記爲小部件添加點擊監聽器(在我的情況下爲imageview)。