//设置上面菜单栏
第一步先建一个xml
,第二步创建一个menu文件里面创建xml格式如下
创建menu文件
页面这里基本完成
接下来是代码
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//这是刚才创建的xml,这个方法是显示方法
getMenuInflater().inflate(R.menu.option,menu);
return true;
}
//这个方法是点击方法
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
item.getItemId();
switch (item.getItemId()){
case R.id.save:
Toast.makeText(this,"保存",Toast.LENGTH_SHORT).show();
break;
case R.id.ext:
finish();
break;
}
return super.onOptionsItemSelected(item);
}
长按按钮显示
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test_demo01);
//需要在主方法中声明一下 绑定的按钮id
registerForContextMenu(findViewById(R.id.button01));
}
//显示方法
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
getMenuInflater().inflate(R.menu.option,menu);
}
//点击方法
@Override
public boolean onContextItemSelected(@NonNull MenuItem item) {
switch(item.getItemId()){
case R.id.save:
Toast.makeText(this,"保存",Toast.LENGTH_SHORT).show();
break;
}
return super.onContextItemSelected(item);
}
长按按钮在上面显示的方法
创建一个内部类
ActionMode.Callback bd = new ActionMode.Callback() {
//创建启动上下文操作 是调用
@Override
public boolean onCreateActionMode(ActionMode actionMode, Menu menu) {
Log.e("TAG","创建");
getMenuInflater().inflate(R.menu.context,menu);
return true;
}
//创建方法后进行调用的
@Override
public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) {
Log.e("TAG","准备");
return false;
}
@Override
public boolean onActionItemClicked(ActionMode actionMode, MenuItem menuItem) {
Log.e("TAG","点击");
return false;
}
//结束调用
@Override
public void onDestroyActionMode(ActionMode actionMode) {
Log.e("TAG","结束");
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Button popupBtn = findViewById(R.id.popup_btn);
popupBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//实例化popupmenu对象(参数2 被view)
PopupMenu menu = new PopupMenu(MainActivity.this,popupBtn);
//加载菜单资源
menu.getMenuInflater().inflate(R.menu.option,menu.getMenu());
//为phpupMenu设置点击监听器
menu.show();
}
}
);
}