step by step.
目录
参考:Android-第五节Menu菜单详解_android menu_夏屿_的博客-CSDN博客Menu菜单https://blog.csdn.net/qq_48435252/article/details/122928940?ops_request_misc=&request_id=&biz_id=102&utm_term=android%20%E8%8F%9C%E5%8D%95&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-8-122928940.nonecase&spm=1018.2226.3001.4187
menu的main.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!--
android:orderInCategory="100"数值越大级别越小,可设置来排位置
android:title="登录" 文字
app:showAsAction="always"显示方式
always:总是显示在界面上
never:不显示在界面上,只让出现在右边的三个点中
ifRoom:如果有位置才显示,不然就出现在右边的三个点中
-->
<item android:id="@+id/setting_item"
android:title="设置"/>
<item android:id="@+id/home_item"
android:title="HOME"
app:showAsAction="always"/>
</menu>
要添加的那一页的java:
package com.example.childlearningsys;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
public class MenuActivity1 extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu1);
}
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main,menu);
return true;
}
@Override
public boolean onOptionsItemSelected( MenuItem item){
switch (item.getItemId()){
case R.id.home_item:
Toast.makeText(this,"已在主页面", Toast.LENGTH_SHORT).show();
break;
case R.id.setting_item:
Toast.makeText(this,"setting",Toast.LENGTH_SHORT).show();
break;
default:
}return true;
}
}
效果:
补充:icon图标:
下载网址:
不推荐(不免费):
推荐(免费):
xml代码:
<item android:id="@+id/home_item"
android:title="HOME"
android:icon="@drawable/pic_icon_home"
app:showAsAction="always"/>
局部效果1:
总体效果:
<item android:id="@+id/home_item"
android:title="HOME"
android:icon="@drawable/pic_icon_home"
app:showAsAction="always"/>
<item android:id="@+id/setting_item"
android:title="setting"
android:icon="@drawable/pic_icon_set"
app:showAsAction="always"/>
<item android:icon="@drawable/pic_icon_help"
android:id="@+id/help"
app:showAsAction="always"
android:title="setting" />
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<!--
android:orderInCategory="100"数值越大级别越小,可设置来排位置
android:title="登录" 文字
app:showAsAction="always"显示方式
always:总是显示在界面上
never:不显示在界面上,只让出现在右边的三个点中
ifRoom:如果有位置才显示,不然就出现在右边的三个点中
-->
<item android:id="@+id/home_item"
android:title="HOME"
android:icon="@drawable/pic_icon_home"
app:showAsAction="always"/>
<item android:id="@+id/setting_item"
android:title="setting"
android:icon="@drawable/pic_icon_set"
app:showAsAction="always"/>
<item android:icon="@drawable/pic_icon_help"
android:id="@+id/help"
app:showAsAction="always"
android:title="setting" />
</menu>