1首先在menu文件夹下新建一个popupmenu.xml的菜单资源文件
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/menu_settings"
android:orderInCategory="1"
android:title="d"/>
<item
android:id="@+id/menu_about"
android:orderInCategory="2"
android:title="d"/>
<item
android:id="@+id/menu_quit"
android:orderInCategory="3"
android:title="st"/>
</menu>
2.在activity中创建popupmenu的对象
Popupmenu pm = new Popupmenu (context,arc);
3.getMenuInflater().inflate(R.menu.popmenu,pm.getMenu());
4.pm.show();
另外popupmenu的监听pm.setOnMenuItemClickListener
public class MainActivity extends AppCompatActivity {
private PopupMenu pm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button button = (Button) findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
popupmenu(button);
}
});
}
private void popupmenu(Button bt) {
pm = new PopupMenu(MainActivity.this,bt);
getMenuInflater().inflate(R.menu.popmenu,pm.getMenu());
pm.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId())
{
case R.id.menu_settings:
pm.dismiss();
break;
default:
Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();
}
return false;
}
});
pm.show();
}
}