1、新建菜单项的资源文件;
鼠标右键,点击新建资源文件,选择类型为menu。
文件内容是:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/exit"
android:title="退出"/>
<item android:id="@+id/set"
android:title="设置"/>
<item android:id="@+id/account"
android:title="账号"/>
</menu>
2、生成菜单,绑定事件等:
public class MainActivity extends AppCompatActivity
implements View.OnClickListener, PopupMenu.OnMenuItemClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button btn=findViewById(R.id.button);
btn.setOnClickListener( this);
}
public void onClick(View v){
//创建对象
PopupMenu popupMenu=new PopupMenu(this,v);
//菜单填充器
MenuInflater Inflater=popupMenu.getMenuInflater();
//填充菜单
Inflater.inflate(R.menu.main,popupMenu.getMenu());
//绑定事件,这样绑定方式,注意定义implements
popupMenu.setOnMenuItemClickListener( this);
popupMenu.show();
}
public boolean onMenuItemClick(MenuItem item) {
switch (item.getItemId()) {
case R.id.exit:
Toast.makeText(this, "退出", Toast.LENGTH_SHORT).show();
break;
case R.id.set:
Toast.makeText(this, "设置", Toast.LENGTH_SHORT).show();
break;
case R.id.account:
Toast.makeText(this, "账号", Toast.LENGTH_SHORT).show();
break;
default:
break;
}
return false;
}
}