一、菜单栏选项
在项目中添加顶部菜单栏的方法:
在res目录下新建menu文件夹,在该文件夹下新建用于菜单栏的xml文件:
举例说明菜单栏的写法,只添加一个选项元素:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/app_info"
android:title="@string/app_info"/>
</menu>
二、在活动代码中添加菜单栏显示
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
常见问题1:应用顶部菜单不显示?
修改应用主题xml文件,在parent这里去掉DayNight后面的内容:
<resources xmlns:tools="http://schemas.android.com/tools">
<!-- Base application theme. -->
<style name="Base.Theme.WeilaYinuo" parent="Theme.Material3.DayNight">
<!-- Customize your light theme here. -->
<!-- <item name="colorPrimary">@color/my_light_primary</item> -->
</style>
<style name="Theme.WeilaYinuo" parent="Base.Theme.WeilaYinuo" />
</resources>
常见问题2:菜单跳转事件提示id必须是常量?
public boolean onOptionsItemSelected(@NonNull MenuItem item){
switch (item.getItemId()){
case 1:
Intent intent = new Intent();
intent.setClass(LoginActivity.this, AppInfoActivity.class);
startActivity(intent);
}
return true;
}
switch语句的case条件必须是整数(从上到下排列),不能是菜单xml文件中定义的id。