1 menu 创建
- 资源文件并创建布局

- 添加菜单选项
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/add_item"
android:title="添加"
/>
<item
android:id="@+id/del_item"
android:title="删除"/>
<item
android:id="@+id/modify_item"
android:title="修改" />
<item
android:id="@+id/quit_app"
android:title="退出" />
</menu>

2 在UI线程中创建并指定点击事件
public boolean onCreateOptionsMenu(Menu menu)
- 要创建选项菜单,就需要重写该方法,在方法中对menu对象进行操作
- 系统创建选项菜单时调用的方法,参数menu就是Activity的选项菜单对象,返回值为true表示需要显示菜单,否则菜单不显示
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
- 点击事件
public boolean onOptionsItemSelected(MenuItem item)
item参数是被单击的菜单项,返回值:
- 如果任务全部已经处理完,则返回true
- 如果希望将菜单项点击的事件传递下去,继续触发其他处理,则返回false
- 如果采用
return super.onOptionsItemSelected(item);
则返回值为flase,即系统缺省返回flase
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch(item.getItemId()) {
case R.id.add_item :
Toast.makeText(MainActivity.this, "点击了添加按钮", Toast.LENGTH_SHORT).show();
break;
case R.id.del_item :
Toast.makeText(MainActivity.this, "点击删除按钮", Toast.LENGTH_SHORT).show();
break;
case R.id.modify_item:
Toast.makeText(MainActivity.this, "点击了修改按钮", Toast.LENGTH_SHORT).show();
break;
case R.id.quit_app:
finish();
break;
default:
}
return true;
}
UI代码
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
switch(item.getItemId()) {
case R.id.add_item :
Toast.makeText(MainActivity.this, "点击了添加按钮", Toast.LENGTH_SHORT).show();
break;
case R.id.del_item :
Toast.makeText(MainActivity.this, "点击删除按钮", Toast.LENGTH_SHORT).show();
break;
case R.id.modify_item:
Toast.makeText(MainActivity.this, "点击了修改按钮", Toast.LENGTH_SHORT).show();
break;
case R.id.quit_app:
finish();
break;
default:
}
return true;
}
}
转载:
https://blog.csdn.net/qq_44776065/article/details/116402975